设置 HTTP 传输超时时间.
#Include <WinHttp.au3>
_WinHttpSetTimeouts($hInternet [, $iResolveTimeout = Default [, $iConnectTimeout = Default [, $iSendTimeout = Default [, $iReceiveTimeout = Default ]]]])
$hInternet | 由 _WinHttpOpen() 或者 _WinHttpOpenRequest() 函数返回的句柄. |
$iResolveTimeout | [可选参数] 超时值,按毫秒计算,用于域名解析的超时.默认为 0 毫秒. |
$iConnectTimeout | [可选参数] 超时值,按毫秒计算,用于服务器连接请求的超时.默认为 60000 毫秒. |
$iSendTimeout | [可选参数] 超时值,按毫秒计算,用于发送请求的超时.默认为 30000 毫秒. |
$iReceiveTimeout | [可选参数] 超时值,按毫秒计算,用于接受请求响应的超时.默认为 30000 毫秒. |
成功: | 返回 1 |
失败: | 返回 0 并设置 @error: |
1 - DllCall 失败 |
#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include "WinHttp.au3"
Opt("MustDeclareVars", 1)
; 打开需要的句柄
Global $hOpen = _WinHttpOpen()
; 设置超时
_WinHttpSetTimeouts($hOpen, 10, 10, 10, 10)
; 获取连接句柄
Global $hConnect = _WinHttpConnect($hOpen, "msdn.microsoft.com")
; 指明请求:
Global $hRequest = _WinHttpOpenRequest($hConnect, Default, "en-us/library/aa384101(VS.85).aspx")
; 发送请求
_WinHttpSendRequest($hRequest)
; 等待响应
_WinHttpReceiveResponse($hRequest)
Global $sHeader
; 如果数据有效...
If _WinHttpQueryDataAvailable($hRequest) Then
$sHeader = _WinHttpQueryHeaders($hRequest) ; ...获取完整头部
; 显示获取的头部
MsgBox(0, "Header", $sHeader)
Else
; 显示获取的头部
MsgBox(48, "Failure", "Maybe the new timeouts are unrealistic ;)")
EndIf
; 清理
_WinHttpCloseHandle($hRequest)
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hOpen)