雖然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即可生效。