Delphi中强制IdHTTP使用HTTP1.1(转)

Delphi中强制IdHTTP使用HTTP1.1(转)Delphi中强制IdHTTP使用HTTP1.1(转)标签:delphiwindows工具server2011-07-1807:46952人阅读评论(0)收藏举报分类:DelphiIdHttp控件(29)前两天帮人写程序用IdHTTP控件往一网站发包如下:Delphi代码IdHTTP1.Request.Connection:=’Keep-A…

大家好,又见面了,我是你们的朋友全栈君。

Delphi中强制IdHTTP使用HTTP1.1(转)

标签: delphiwindows工具server

2011-07-18 07:46 952人阅读 评论(0) 收藏 举报

Delphi中强制IdHTTP使用HTTP1.1(转) 分类:

Delphi IdHttp控件(29) Delphi中强制IdHTTP使用HTTP1.1(转)

 

前两天帮人写程序

用IdHTTP控件往一网站发包

如下:

Delphi代码
IdHTTP1.Request.Connection:=’Keep-Alive’;    
IdHTTP1.Request.UserAgent:=’Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)’;    
IdHTTP1.Request.ContentType:=’application/x-www-form-urlencoded’;    
IdHTTP1.Request.Referer:=’http://www.xxx.com’;    
IdHTTP1.Request.Accept:=’image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*’;    
IdHTTP1.Request.AcceptLanguage:=’zh-cn’;    
IdHTTP1.Request.AcceptEncoding:=’gzip, deflate’;    
IdHTTP1.Request.CacheControl:=’no-cache’;    
IdHTTP1.ReadTimeout:=60000;    
IdHTTP1.ProtocolVersion:=pv1_1;    
sHtml:=IdHTTP1.Post(‘http://www.xxx.com/login.asp’,sPost);   

但用抓包工具看,却发现是用的http1.0,而不是http1.1,明明设置了IdHTTP1.ProtocolVersion:=pv1_1

查看INDY的源码,发现在IdHTTP.pas中有如下代码和注释:

Delphi代码
OldProtocol := FProtocolVersion;    
// If hoKeepOrigProtocol is SET, is possible to assume that the developer    
// is sure in operations of the server    
if not (hoKeepOrigProtocol in FOptions) then   
  FProtocolVersion := pv1_0;   

原因很明显了,于是改代码:

Delphi代码
IdHTTP1.Request.Connection:=’Keep-Alive’;    
IdHTTP1.Request.UserAgent:=’Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)’;    
IdHTTP1.Request.ContentType:=’application/x-www-form-urlencoded’;    
IdHTTP1.Request.Referer:=’http://www.xxx.com’;    
IdHTTP1.Request.Accept:=’image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*’;    
IdHTTP1.Request.AcceptLanguage:=’zh-cn’;    
IdHTTP1.Request.AcceptEncoding:=’gzip, deflate’;    
IdHTTP1.Request.CacheControl:=’no-cache’;    
IdHTTP1.ReadTimeout:=60000;    
IdHTTP1.HTTPOptions:=IdHTTP1.HTTPOptions+[hoKeepOrigProtocol];//关键这行    
IdHTTP1.ProtocolVersion:=pv1_1;    
sHtml:=IdHTTP1.Post(‘http://www.xxx.com/login.asp’,sPost);   

再用抓包工具看,能看到确实是使用http1.1协议了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159708.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【详细教程·本人亲测】解决win10家庭版系统C:\Users用户名中有中文,更改为英文的问题

    【详细教程·本人亲测】解决win10家庭版系统C:\Users用户名中有中文,更改为英文的问题【本人亲测】解决win10家庭版系统C:\Users用户名更改的问题【前言】新电脑刚买来,自带win10系统,激活时注册用户名和密码,为了方便记忆把用户名设为中文。随着后来学习和工作软件越装越多,在学习软件开发才发现Users必须为英文,此时重装系统成本极大!因此本人花了大量时间在网上寻找解决方案。但是基本上不适合win10家庭版。终于最后搜到一个方案解决,深知不易,特分享给各位。<第一…

    2022年5月30日
    45
  • 自己动手写CPU之第五阶段(3)——MIPS指令集中的逻辑、移位与空指令

    自己动手写CPU之第五阶段(3)——MIPS指令集中的逻辑、移位与空指令

    2022年1月28日
    40
  • 获取计算机用户名,java获取计算机用户名

    获取计算机用户名,java获取计算机用户名NetworkInfo()Dimwshnetwork,infoAsStringSetwshnetwork=CreateObject(“WScript.Network”)’获取当前电脑用户信息一、用户名命名规范:总纲:用户名规范包括通用规范和特殊原则。A.通用规范:a.用户名只能由字母、数字和下划线组成,且必须以字母开头。不得出…1、“姓”的全拼+“ZhongS”…

    2022年10月15日
    4
  • golang 2021 激活码(注册激活)「建议收藏」

    (golang 2021 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html4D5UJRVIF9-eyJsaWNlbnNlSWQi…

    2022年3月30日
    2.2K
  • oracle9i如何卸载,教你怎么样卸载Oracle9i[通俗易懂]

    oracle9i如何卸载,教你怎么样卸载Oracle9i[通俗易懂]欢迎进入Oracle社区论坛,与200万技术人员互动交流>>进入在win2000企业版操作系统下,卸载Oracle9i:1、停止所有Oracle服务2、删除注册表中的所有关于Oracle项(1)在HKEY_LOCAL_MACHINE\SOFTWARE下,删除Oracle目录(2)在HKEY_LOCAL_MACHINE\SYSTE欢迎进入Oracle社区论坛,与200万技…

    2022年10月20日
    3
  • 防止ASP Session丢失的方法[通俗易懂]

    防止ASP Session丢失的方法[通俗易懂]也许很多asp开发者都会遇到这样的情况:在会话期间(session)无故丢失session。换而言之,丢失了SessionID,同样session级的变量也会丢失。很多session丢失的原因是因为错误的程序或者是错误的虚拟目录结构。 SessionID的改变有下面几个原因。 原因一: Netscape的浏览器会认为”/App/user.asp”跟”/app/u

    2022年7月25日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号