【发布时间】:2013-12-31 09:02:21
【问题描述】:
我正在尝试制作 LINK FINDER 并面临 2 个问题
问题 1(已解决) :: 无法获取重定向页面的 url
这已通过使用 WinHttp.WinHttpRequest.5.1
解决 REFERNCE LINK问题 2(未解决) :: 无法使用 WinHttp.WinHttpRequest.5.1 对象 EVENTS 或者没有回调异步请求
同步请求代码
Set req = CreateObject("WinHttp.WinHttpRequest.5.1")
req.open "GET", url, FALSE
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
req.send PostData
这工作正常,但如果我有多个请求,那么它需要很多时间。
我尝试了异步请求代码,但得到错误
Set req = CreateObject("WinHttp.WinHttpRequest.5.1")
req.open "GET", url, TRUE
req.OnReadyStateChange = GetRef("req_OnReadyStateChange")
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
req.send PostData
Function req_OnReadyStateChange
' do something
End Function
代码 1
Set req = CreateObject("WinHttp.WinHttpRequest.5.1","req_")
req.open "GET", url, TRUE
Function req__OnResponseFinished
' do something
End Function
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
req.send PostData
错误 - 远程服务器机器不存在或不可用:'CreateObject'
代码 2
Set req = CreateObject("WinHttp.WinHttpRequest.5.1")
req.open "GET", url, TRUE
req.OnResponseFinished = GetRef("req_OnResponseFinished")
Function req_OnResponseFinished
' do something
End Function
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
req.send PostData
错误:对象不支持此属性或方法:'req.OnResponseFinished
代码 3
Set req = CreateObject("WinHttp.WinHttpRequest.5.1")
req.open "GET", url, TRUE
req.OnReadyStateChange = GetRef("req_OnReadyStateChange")
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
req.send PostData
Function req_OnReadyStateChange
' do something
End Function
在微软文档中,他们提到了 WinHttp.WinHttpRequest.5.1 有 4 个事件。
- OnError
- OnResponseDataAvailable
- OnResponseFinished
- OnResponseStart
但是我没有得到如何使用这个事件的例子,我也不能在 ASP 中使用这些事件。
希望快速响应...
【问题讨论】:
标签: asynchronous asp-classic event-handling httprequest