多年来我还没有使用MSXML2.ServerXMLHTTP,现在我需要。当我使用MSXML2.ServerXMLHTTP来抓取页面时,页面返回破坏的图像。我记得在过去这样做,我会使用一行代码并且图像会完美地解析。这有点像设置基本网址。有谁知道代码是什么?这是我使用的代码:
url = "notimportant.com"
Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP")
objXML.Open "GET", URL, False
objXML.Send()
xmlResponse = objXML.responseText
Set objXML = Nothing
答案 0 :(得分:1)
您可能希望在<base>
中放置<head>
标记,以便一行代码必须如下:
xmlResponse = Replace(objXML.responseText, "<head>", "<head><base href=""http://notimportant.com/"" />", 1, 1, vbTextCompare)
或者作为更可靠的方式,如果head标记更复杂且不可预测,如<head class="head etc">
,则可以使用正则表达式替换:
Dim Re
Set Re = New RegExp
Re.IgnoreCase = True
Re.Pattern = "<head[^>]*>"
xmlResponse = Re.Replace(objXML.responseText, "$&<base href=""http://notimportant.com/"" />")