WinHttp用法(WinHttp.WinHttpRequest.5.1方法,属性)

WinHttp用法(WinHttp.WinHttpRequest.5.1方法,属性)使用WinHttpRequest伪造HTTP头信息,伪造Referer等信息由于微软封锁了XmlHttp对象,所以无法伪造部分HTTP头信息,但是WinHttp.WinHttpRequest.5.1对象,它居然用可以成功伪造所有http请求的header信息!从msdn得知,WinHttp.WinHttpRequest.5.1是msxml4.0的底层对象,也就是说XML

大家好,又见面了,我是你们的朋友全栈君。使用WinHttpRequest伪造HTTP头信息,伪造Referer等信息

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

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

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

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

代码如下:

<% 
Dim WinHttp 
Set 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. 
开始收到响应数据时发生。 

Remarks 备注 

The WinHttpRequest object uses the IErrorInfo interface to provide error data. 
该 WinHttpRequest 对象使用 IErrorInfo 接口来提供错误数据。 
A description and numerical error value can be obtained with the Err object in Microsoft Visual Basic Scripting Edition (VBScript), 
and the Error object in Microsoft JScript. 
The lower 16 bits of an error number correspond to the values found in Error Messages. 
Note For Windows XP and Windows 2000, see Run-Time Requirements. 
注意:对于 Windows XP 和 Windows 2000,请参阅运行时间要求。 

Requirements 要求 

最低支持的客户端 Windows XP, Windows 2000 Professional with SP3 Windows XP 
最低支持的服务器 Windows Server 2003, Windows 2000 Server with SP3 

可再发行 WinHTTP 5.0 and Internet Explorer 5.01 or later on Windows XP and Windows 2000. 
WinHTTP的5.0和Internet Explorer 5.01或更高版本的Windows XP和Windows 2000。 
IDL HttpRequest.idl HttpRequest.idl 
Library Winhttp.lib Winhttp.lib 
DLL Winhttp.dll Winhttp.dll


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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157272.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(2)


相关推荐

  • c语言处理excel表格_c语言一般文件的处理过程

    c语言处理excel表格_c语言一般文件的处理过程1写excel是.csv后缀,跳跃间隔符是‘\t’ FILE*fp; fp=fopen(“./test.csv”,”w”);//写 for(i=0;i<4;i++) fprintf(fp,”%c,%d,%d\n”,chy[i],data[i],d2); fclose(fp);2读指定位置读数,如倒序读数,从末尾向前读数!先看代码!倒序读最后一行的数据#include<bits/stdc++.h>#define

  • 基于麦克风阵列的现有声源定位技术有_麦克风阵列

    基于麦克风阵列的现有声源定位技术有_麦克风阵列麦克风阵列:麦克风阵列是由一定数目的声学传感器(麦克风)按照一定规则排列的多麦克风系统,而基于麦克风阵列的声源定位是指用麦克风拾取声音信号,通过对麦克风阵列的各路输出信号进行分析和处理,得到一个或者多个声源的位置信息。麦克风阵列系统的声源定位技术研究意义在于:输入的信息只有两个方向难以确定声源的位置,人类的听觉系统主要取决于头和外耳气压差声波实现声源定位。假使没有这个压力差,只能定位在平面上声源的位置,但就无法知道声音是从前面,或从后面传来的。因此,由人的听觉系统,科技研发人员得到了灵感,使用多个麦克风

  • docker基本操作命令_docker里面运行docker

    docker基本操作命令_docker里面运行docker一、Docker安装1、卸载Dockersudoyumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\

  • CharacterEncodingFilter 详解

    CharacterEncodingFilter 详解一、什么是CharacterEncodingFilter官方解释如下是spring内置过滤器的一种,用来指定请求或者响应的编码格式。在web开发中经常被从来使用二、CharacterEncodingFilter的用法在web.xml中的配置&amp;lt;filter&amp;gt;&amp;lt;filter-name&amp;gt;characterEncodingFilter&amp;lt;/fi…

  • 十五:IO流_什么是io流

    十五:IO流_什么是io流跳转到总目录文章目录01、File类的使用1.1、File类的实例化1.2、File类的常用方法11.3、File类的常用方法21.4、课后练习02、IO流原理及流的分类2.1、IO流原理2.2、流的分类2.3、IO流体系04、节点流(或文件流)4.1、FileReader读入数据的基本操作4.2、FileReader中使用read(char[]cbuf)读入数据4.3、FileWriter写出数据的操作4.4、使用FileReader和FileWriter实现文本文件的复制4.5、使用FileInp

    2022年10月20日
  • 【Java 代码实例 14】BeanUtils用法详解,附源码分析

    【Java 代码实例 14】BeanUtils用法详解,附源码分析目录一、org.apache.commons.beanutils.BeanUtils简介二、使用的前置条件三、添加pom四、代码实例1、为属性赋值2、拷贝对象,为对象赋值3、map转bean4、bean转map五、Apache的BeanUtils与Spring的BeanUtils一、org.apache.commons.beanutils.BeanUtils简介BeanUtils是ApacheCommons组件的成员之一,主要用于简化JavaBean封装数据的操作。​简化反射封装参数的步骤,给对象封

发表回复

您的电子邮箱地址不会被公开。

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