2016-06-08 13 views
0

MSXML2.ServerXMLHTTP를 몇 년 동안 사용하지 않았으므로 이제해야합니다. MSXML2.ServerXMLHTTP를 사용하여 페이지를 가져올 때 페이지가 깨진 이미지와 함께 반환됩니다. 과거에 이런 일을했던 기억이 있습니다. 코드를 사용하면 이미지가 완벽하게 해결됩니다. 기본 URL을 설정하는 것과 비슷했습니다. 누구든지 코드가 무엇인지 알 수 있습니까? 여기 내가 사용하고 코드는 다음과 같습니다Classic ASP를 사용하는 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

이미지를.니다. 'xmlResponse'에'img' 태그가 포함되어 있다면 소스를보고 무엇이 잘못되었을지를 알아야합니다. NB 나는'Server.CreateObject ("MSXML2.ServerXMLHTTP.6.0")'을 사용하는 것을 권장합니다 - MSXML의 가장 최신 버전을 호출합니다 – John

답변

1

당신은 아마 그렇게 한 줄의 코드는 다음과해야한다는 <head> 내부 <base> 태그를 배치 할 :

xmlResponse = Replace(objXML.responseText, "<head>", "<head><base href=""http://notimportant.com/"" />", 1, 1, vbTextCompare) 

아니면 더 안정적으로 헤드 태그가 더 복잡하고 예측할 수없는 경우에 <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/"" />")