http://blog.csdn.net/nerdy/article/details/8702568
虽然indy有一身的毛病,但是一般情况下使用起来还是多方便的。
今天在做一个使用到indy的程序的时候,发现无论你怎么修改idhttp.request.accept-encoding,他都会在其后添加一个值 identity,追查了下源码,发现indy在源码中强行的添加了它,虽然说修改他的意义并不是很大,但是被强迫的感觉真心不好,正好也借此文说明一下,如何重新编译并更新编译过的组件单元(.dcu)。
首先打开indy的安装目录下的Source/Protocols目录(这里我以indy 10 for delphi7/idhttp为例),找到indyProtocols70.dpk,使用delphi7打开,然后找到其中的idhttp.pas,双击打开,修改后保存,Complie编译,即可生成新的idhttp.dcu文件到刚才的目录。
我们把新的idhttp.dcu复制一份到原来的indy的lib目录下,具体是哪个目录,可以通过Tools->Enviroment Options->Library->Library path中的地址去找,然后将新的覆盖掉原来的老文件,重新打开delphi即可生效。