• 沙里软件

  • ShaliSoft.com [手机站]   办公桌收纳抽屉
  • 首页
  • 博文
  • 演示
  • 管理
  • Asp WinHttp 对象使用详解 伪造 HTTP 头信息

    网络   2014/5/22 22:46:19

    使用 WinHttpRequest 伪造 HTTP 头信息,伪造 Referer 等信息。

    由于微软封锁了 XmlHttp 对象,所以无法伪造部分 HTTP 头信息,但是 WinHttp.WinHttpRequest.5.1 对象,它居然用可以成功伪造所有 http 请求的 header 信息!

    从msdn得知,WinHttp.WinHttpRequest.5.1 是 msxml 4.0 的底层对象,也就是说 XMLHTTP/ServerXMLHTTP 也是在它的基础上封装而来,WinHttpRequest 的用法与 XmlHttp 大致相同。

    WaitForResponse 在使用异步方式发送请求时,可以用这个方法来控制请求的进程,指定的等待时间,以秒为一个异步传送方法来完成的值,SetTimeouts。

    在服务端脚本中,不可以像客户端那样直接使用回调函数来控制异步请求,也没有相应的函数来使用程序休眠一定的时间,因此,为了等待请求返回,我们可以使用这个方法来等待一定时间。

    <%Dim WinHttpSet WinHttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1")'设置参数
    WinHttp.SetTimeouts 60000, 60000, 60000, 3000                               '设置操作超时时间'WinHttp.SetTimeouts resolveTimeout, connectTimeout, sendTimeout, receiveTimeout
    'resolveTimeout = 10000   '解析 DNS 名字的超时时间,10000 毫秒。
    'connectTimeout = 10000   '建立 Winsock 连接的超时时间,10000 毫秒。
    'sendTimeout = 120000     '发送数据的超时时间,120000 毫秒。
    'receiveTimeout = 60000   '接收 response 的超时时间,60000 毫秒。
    WinHttp.Option(4) = 13056                                                   '忽略错误标志WinHttp.Option(6) = False                                                   '为 True 时,当请求页面重定向跳转时自动跳转,False 不自动跳转,截取服务端返回的302状态。
    WinHttp.Open "GET", "http://www.baidu.com/", False                          'GET 或 POST, Url, False 同步方式;True 异步方式'组成 HTTP 头信息
    WinHttp.SetRequestHeader "Accept", "*/*"                                    '接受数据类型WinHttp.SetRequestHeader "Accept-Language", "zh-cn,zh"                      '用户系统语言
    WinHttp.SetRequestHeader "User-Agent", "Mozilla/6.0"                        '用户浏览器信息WinHttp.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" '编码方式
    WinHttp.SetRequestHeader "Referer", "http://www.baidu.com/"                 '来路WinHttp.SetRequestHeader "Connection", "Close"                              'Close = 不保持连接,Keep-Alive = 保持连接(持久连接)
    'WinHttp.SetRequestHeader "Accept-Encoding", "gzip, deflate"                 '如果发送,会返回 gzip, deflate 压缩过的编码
    'WinHttp.SetRequestHeader "Content-Length", Len(Str)                         '内容长度,Post 方式用的。
    WinHttp.SetRequestHeader "Cookie", "test cookie!"                           '设置 Cookie'发送数据
    WinHttp.Send                                                                'Post 方式:WinHttp.Send (参数)WinHttp.WaitForResponse                                                     '等待返回请求,XMLHTTP中也可以使用
    '输出结果Response.Write WinHttp.Status                                               '当前 HTTP 状态
    'Response.Write WinHttp.ResponseText '文本数据
    Response.BinaryWrite WinHttp.ResponseBody                                   '二进制数据流数据%>
    Option()相关:
    
    WinHttpRequestOption_UserAgentString = 0;
    WinHttpRequestOption_URL = 1;
    WinHttpRequestOption_URLCodePage = 2;
    WinHttpRequestOption_EscapePercentInURL = 3;
    WinHttpRequestOption_SslErrorIgnoreFlags = 4;
    WinHttpRequestOption_SelectCertificate = 5; '13056 = 忽略错误标志
    WinHttpRequestOption_EnableRedirects = 6; '为True时,当请求的页面中有跳转时,抓取跳转页面信息.False相反不抓取
    WinHttpRequestOption_UrlEscapeDisable = 7;
    WinHttpRequestOption_UrlEscapeDisableQuery = 8;
    WinHttpRequestOption_SecureProtocols = 9;
    WinHttpRequestOption_EnableTracing = 10;
    WinHttpRequestOption_RevertImpersonationOverSsl = 11;
    WinHttpRequestOption_EnableHttpsToHttpRedirects = 12;
    WinHttpRequestOption_EnablePassportAuthentication = 13;
    WinHttpRequestOption_MaxAutomaticRedirects = 14;
    WinHttpRequestOption_MaxResponseHeaderSize = 15;
    WinHttpRequestOption_MaxResponseDrainSize = 16;
    WinHttpRequestOption_EnableHttp1_1 = 17;
    WinHttpRequestOption_EnableCertificateRevocationCheck = 18;
    
    
    方法                               Description 说明
    
    Abort                              中止一个WinHTTP的 发送方法。
    GetAllResponseHeaders              检索所有的HTTP响应头。
    GetResponseHeader                  检索HTTP响应头。
    Open                               打开一个HTTP连接到HTTP资源。
    Send                               发送一个HTTP请求到HTTP服务器。
    SetAutoLogonPolicy                 设置当前自动登录策略。
    SetClientCertificate               选择一个客户端证书发送到一个安全的超文本传输协议(HTTPS)服务器。
    SetCredentials                     设置要使用的凭据与HTTP服务器,要么是原籍国或代理服务器。
    SetProxy                           设置代理服务器信息。
    SetRequestHeader                   添加,更改或删除一个HTTP请求标头。
    SetTimeouts                        指定以毫秒为单位,个人的时间超过了一个组件发送/接收操作。
    WaitForResponse                    指定的等待时间,以秒为一个异步传送方法来完成的值,SetTimeouts。
    
    该 WinHttpRequest 对象定义以下属性。
    
    属性                 访问类型        说明
    
    Option               读/写           设置或检索一个WinHTTP的选项值。
    ResponseBody         只读            检索作为无符号字节数组的响应实体机构。
    ResponseStream       只读            检索机构作为响应实体的IStream。
    ResponseText         只读            作为文本检索响应实体机构。
    Status               只读            从上次检索响应的HTTP状态代码。
    StatusText           只读            获取HTTP状态的文本。
    
    Events 活动
    
    The WinHttpRequest object defines the following events.
    WinHttpRequest 对象定义的下列事件。
    
    Event 事件                Description说明  
    
    OnError                  Occurs when there is a run-time error in the application.
                             当发生一个应用程序运行时错误时发生。
    OnResponseDataAvailable  Occurs when data is available from the response.
                             当响应数据可用时发生。
    OnResponseFinished       Occurs when the response data is complete.
                             响应数据完成时发生。
    OnResponseStart          Occurs when the response data starts to be received.
                             开始收到响应数据时发生。


    阅读(1578) 分享(0)

    上一篇: 2014年SEO发展的五大趋势
    下一篇: IE6不支持max-width和min-height解决方法

  • 精彩推荐

    ◆ MySQL配置优化
    ◆ WINDOWS 2003 IIS6 支持SHA256。基础连接已经关闭 发送时发生错误修复
    ◆ sql2000增加序号列,自动增加列,ROW_NUMBER()
    ◆ SQL set statistics命令
    ◆ Google Analytics与百度统计的原理
    ◆ OutputCache 缓存 VaryByCustom的使用,增加缓存后手机端无法做判断的处理
    ◆ SQLSERVER数据库检查DBCC CheckDB
    ◆ 为什么mysql使用SELECT*比SELECT字段 查询速度还快
    ◆ 谷歌镜像网站大全 google翻墙地址大全
    ◆ 携程全线瘫痪,传言代码被恶意删除
  • 用心做事 不能唯利是图

    • 吊儿
    • 用QQ联系我17905772
  • 搜索


  • 最新文章

    • 导出Excel 格式 mso-number-format
    • 服务器iis支持tls1.2,windows server 2008 r2 中IIS启用TLS 1.2(安装SSL后用TLS 1.2)
    • MySQL配置优化
    • EditPlus 添加文件比较工具winmerge
    • 滚动悬浮固定JS特效

  • 热门文章

    • php sso单点登录实现代码
    • 中国菜刀(China chopper) 最新黑客工具
    • redis.conf中文版(基于2.4)
    • 搜索引擎名单大全
    • php图片上传类,支持加水印,生成略缩图

  • 最新图库


  • 最新评论


  • 友情链接

  • 沙里软件

  • 最近访客

    Powered by ShaliSoft.com 豫ICP备13008529号

    免责声明:本站部分内容来源于互联网,转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责,也不构成任何其他建议。如果发现侵犯版权,联系QQ17905772进行删除。