我正在尝试编写一个脚本,它将向 URL 发送 HTTP“GET”,然后确定响应是否来自同一个域。
我一直在玩 VBS 和 WinHttp.WinHttpRequest.5.1 对象。可悲的是,这并没有让我了解响应的确切来源。
我尝试解析响应标头,但只有在 Web 服务器设置一个包含服务器域的 cookie 时才会产生结果。例如(在我下面的脚本中)“google.com”将通过但“avg.com”将失败。
我不太喜欢我目前的剧本,如果有人知道更好的方法,我很乐意改变。
我当前的脚本:
Dim objWinHttp
Dim strContent, strURL
Set objWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
objWinHttp.SetTimeouts 29000, 29000, 29000, 29000
objWinHttp.Option(0) = "Website_monitor_light/1.0"
objWinHttp.Option(6) = True
If (InStr(WScript.Arguments.Item(0), "www.") = 1) Then
URL = "http://" & WScript.Arguments.Item(0)
Else
URL = "http://www." & WScript.Arguments.Item(0)
End If
objWinHttp.Open "GET", URL
On Error Resume Next
objWinHttp.Send()
If (objWinHttp.Status = 200) Then
strContent = objWinHttp.GetAllResponseHeaders
End If
Wscript.Quit InStr(strContent, "domain=." & Mid(URL,12))
太感谢了。