预览模式: 普通 | 列表

Asp WinHttp.WinHttpRequest.5.1 对象使用详解

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

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

ASP/Visual Basic代码
  1. <%   
  2. Dim WinHttp   
  3. Set WinHttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1")   
  4. '设置参数   
  5. WinHttp.SetTimeouts 60000, 60000, 60000, 3000 '设置操作超时时间   
  6. 'WinHttp.SetTimeouts resolveTimeout, connectTimeout, sendTimeout, receiveTimeout   
  7. 'resolveTimeout = 10000 '解析 DNS 名字的超时时间,10000 毫秒。   
  8. 'connectTimeout = 10000 '建立 Winsock 连接的超时时间,10000 毫秒。   
  9. 'sendTimeout = 120000 '发送数据的超时时间,120000 毫秒。   
  10. 'receiveTimeout = 60000 '接收 response 的超时时间,60000 毫秒。   
  11. WinHttp.Option(4) = 13056 '忽略错误标志   
  12. WinHttp.Option(6) = False '为 True 时,当请求页面重定向跳转时自动跳转,False 不自动跳转,截取服务端返回的302状态。   
  13. WinHttp.Open "GET""http://www.baidu.com/"False 'GET 或 POST, Url, False 同步方式;True 异步方式   
  14. '组成 HTTP 头信息   
  15. WinHttp.SetRequestHeader "Accept""*/*" '接受数据类型   
  16. WinHttp.SetRequestHeader "Accept-Language""zh-cn,zh" '用户系统语言   
  17. WinHttp.SetRequestHeader "User-Agent""Mozilla/6.0" '用户浏览器信息   
  18. WinHttp.SetRequestHeader "Content-Type""application/x-www-form-urlencoded" '编码方式   
  19. WinHttp.SetRequestHeader "Referer""http://www.baidu.com/" '来路   
  20. WinHttp.SetRequestHeader "Connection""Close" 'Close = 不保持连接,Keep-Alive = 保持连接(持久连接)   
  21. 'WinHttp.SetRequestHeader "Accept-Encoding", "gzip, deflate" '如果发送,会返回 gzip, deflate 压缩过的编码   
  22. 'WinHttp.SetRequestHeader "Content-Length", Len(Str) '内容长度,Post 方式用的。   
  23. WinHttp.SetRequestHeader "Cookie""test cookie!" '设置 Cookie   
  24. '发送数据   
  25. WinHttp.Send 'Post 方式:WinHttp.Send (参数)   
  26. WinHttp.WaitForResponse '等待返回请求,XMLHTTP中也可以使用   
  27. '输出结果   
  28. Response.Write WinHttp.Status '当前 HTTP 状态   
  29. 'Response.Write WinHttp.ResponseText '文本数据   
  30. Response.BinaryWrite WinHttp.ResponseBody '二进制数据流数据   
  31. %>   

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;

查看更多...

Tags: asp

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4258

 广告位

↑返回顶部↑