使用Classic ASP的MSXML2.ServerXMLHTTP返回损坏的图像

时间:2016-06-08 15:25:57

标签: asp-classic msxml serverxmlhttp

多年来我还没有使用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

1 个答案:

答案 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/"" />")