MSXML2.ServerXMLHTTP - 无法访问网站
MSXML2.ServerXMLHTTP - can't access website
例如,kat.cr
是我无法访问的少数几个网站之一。
在响应中,我得到 2 个符号而不是实际的网页:
这是我正在使用的 VBA 代码:
url = "https://kat.cr"
Set xmlHTTP = CreateObject("MSXML2.serverXMLHTTP")
xmlHTTP.Open "GET", url, False
xmlHTTP.setRequestHeader "Accept-Language", "en-US,en;q=0.8"
xmlHTTP.setRequestHeader "Content-Type", "text/xml"
xmlHTTP.Send
Set html = CreateObject("htmlfile")
response = xmlHTTP.responseText
该网站实际上是在拒绝我访问还是我做错了什么?
该网站并没有拒绝您访问,恐怕是您的代码。下面是一个快速示例,用于从您访问的页面中获取您想要的 HTML
。
注意:这只是一个快速输入,但可以帮助您朝着正确的方向前进。
Dim ie As InternetExplorer
Dim html As HTMLDocument
Set ie = New InternetExplorer
ie.Visible = False
ie.navigate "https://kat.cr"
Set html = ie.document
'this is the inner html -html.DocumentElement.innerHTML
Set ie = Nothing
编辑 - 这对您来说可能是更好的解决方案
Set xmlHTTP = New MSXML2.XMLHTTP
xmlHTTP.Open "GET", "https://kat.cr", False
xmlHTTP.send
Dim doc As Object
Set doc = CreateObject("htmlfile")
doc.body.innerHTML = xmlHTTP.responseText
debug.print doc.body.innerHTML
对客户端应用程序使用CreateObject("MSXML.XMLHTTP")
。 ServerXMLHttp
用于服务器应用程序。有关这两者的更多信息,请参阅 this article。
Set xmlHTTP = CreateObject("MSXML2.XMLHTTP")
xmlHTTP.Open "GET", "https://kat.cr", False
xmlHTTP.Send
Debug.Print xmlHTTP.responseText
例如,kat.cr
是我无法访问的少数几个网站之一。
在响应中,我得到 2 个符号而不是实际的网页:
这是我正在使用的 VBA 代码:
url = "https://kat.cr"
Set xmlHTTP = CreateObject("MSXML2.serverXMLHTTP")
xmlHTTP.Open "GET", url, False
xmlHTTP.setRequestHeader "Accept-Language", "en-US,en;q=0.8"
xmlHTTP.setRequestHeader "Content-Type", "text/xml"
xmlHTTP.Send
Set html = CreateObject("htmlfile")
response = xmlHTTP.responseText
该网站实际上是在拒绝我访问还是我做错了什么?
该网站并没有拒绝您访问,恐怕是您的代码。下面是一个快速示例,用于从您访问的页面中获取您想要的 HTML
。
注意:这只是一个快速输入,但可以帮助您朝着正确的方向前进。
Dim ie As InternetExplorer
Dim html As HTMLDocument
Set ie = New InternetExplorer
ie.Visible = False
ie.navigate "https://kat.cr"
Set html = ie.document
'this is the inner html -html.DocumentElement.innerHTML
Set ie = Nothing
编辑 - 这对您来说可能是更好的解决方案
Set xmlHTTP = New MSXML2.XMLHTTP
xmlHTTP.Open "GET", "https://kat.cr", False
xmlHTTP.send
Dim doc As Object
Set doc = CreateObject("htmlfile")
doc.body.innerHTML = xmlHTTP.responseText
debug.print doc.body.innerHTML
对客户端应用程序使用CreateObject("MSXML.XMLHTTP")
。 ServerXMLHttp
用于服务器应用程序。有关这两者的更多信息,请参阅 this article。
Set xmlHTTP = CreateObject("MSXML2.XMLHTTP")
xmlHTTP.Open "GET", "https://kat.cr", False
xmlHTTP.Send
Debug.Print xmlHTTP.responseText