delphi使用IdHTTP模拟提交页面方法总结


本文整理自网络,侵删。

 1.拖入TIdHTTP控件,HandleRedirect设为True,否则可能会出现HTTP 307错误。

2.主要的设置在Request里。
2.1 userAgent应该改为Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; CIBA; MAXTHON 2.0)
2.2 如果Accept-Encoding设为了gzip, deflate,那么需要再解码,所以如果没有必要的话Accept-Encoding应该设为空。
2.3 Referer应该设为post之前那个页面.

3.若需要取得cookie。

3.1 拖入TidCookieManager控件,将IdHTTP的CookieManager指向它,设定AllowCookies为True

3.2 设置全局变量mycookie:string;

3.3 在TidCookieManager的OnNewCookie事件中
mycookie:=ACookie.ClientCookie;

3.4 然后在用TIdHTTP控件Get页面后即可获取cookie
idhtp1.Get('http://www.XXX.com/');
cookies:='Cookie:'+mycookie;
idhtp1.Request.CustomHeaders.Text:=cookies;


4.设置HTTPOptions的hoForceEncodeParams为False,否则post的数据可能会以%20形式编码。

5.若要使用HTTP/1.1,可将HTTPOptions的hoKeepOrigProtocol设为True,然后将ProtocolVersion设为pv1_1。

相关阅读 >>

Delphi 去掉ide开启后弹出安全警告框

Delphi tlistview(tlistbox+图标显示)

Delphi 优化mdb文件

Delphi在字符串中删除指定字符串

Delphi 怎么不注册 dll 就调用 com

Delphi中调用api函数exitwindowsex可以实现系统的关机,注销,和重启

Delphi 字符串处理单元

Delphi检查getelementbyid返回值的有效性

Delphi写的播放器核心代码,播放mp3无压力

Delphi环境下基于spcomm控件开发串口通讯报文字节丢失的问题解决

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...