webForumDet fria alternativet

Hur man hämtar en websida med ServerXMLHTTP

3 svar · 463 visningar · startad av Mattias Nordin

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#1

Hej,

Jag håller på att sliter mitt hår just nu. Hur fasen får man ServerXMLHTTP att fungera. Det jag vill åstakomma är att hämta en hel websida från en webserver och sedan visa koden (och så småningom analysera den).

Problemen som uppstår är allt från att servern returnerar header 501, 404 och ibland fungerar det. Något är uppenbarligen fel. Är det någon som har fått detta att fungera?


'1)	-	GET PAGE FROM WEBSERVER...
		'http://classicasp.aspfaq.com/general/how-do-i-read-the-contents-of-a-remote-web-page.html
		'http://www.topxml.com/parsers/sniffer/default.asp

		Dim xmlhttp 
		
		Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
		
		' Indicate that page that will receive the request and the type of request being submitted
		xmlhttp.Open "Get", iUrl, False
				
		' Indicate that the body of the request contains form data
		'xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
		
		' Send the data as name/value pairs
		xmlhttp.send ""
		
		'response.write(xmlhttp.responseText)

		' Test errors 
		if err.number <> 0 then 
				response.write "Error: " & xmlhttp.parseError.URL & _ 
					"<br>" & xmlhttp.parseError.Reason 
				response.end 
		end if 

		'Display the HTML both as HTML and as text
'		Response.Write "<h1>The HTML text</h1><xmp>"
'		Response.Write xml.responseText
'		Response.Write "</xmp><p><hr><p><h1>The HTML Output</h1>"
'		Response.Write xml.responseText
		varPageSource = xmlhttp.responseText

Om 501: http://www.checkupdown.com/status/E501.html

Jag förstår inte alls. Antar att mitt anrop till webservern är inkorrekt.

:stud

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#2
<%
	varUrl = "http://mattiasnordin.net"

	Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
	objHTTP.Open "GET", varUrl, False
	objHTTP.Send
	strHTML=objHTTP.responseText
	Set objHTTP = Nothing
	response.write(strHTML)

'	dim objSrvHTTP
'	set objSrvHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0")
'	objSrvHTTP.open "GET","http://www.swesys.se", false
'	objSrvHTTP.send ()
'	Response.ContentType = "text/xml"
'	Response.Write(objSrvHTTP.responseText)
'	objSrvHTTP.close

%>

Ovan verkar fungera bra. Men det finns väldigt många olika dokument som säger olika saker där ute. Skulle vara bra om man hade en länk till ett uppdaterat referensverk :)

TroxyMedlem sedan mars 20041 505 inlägg
#3

Här är iaf. en förklaring av alla ProgID:n som förekommer:
http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx

Mattias NordinMedlem sedan dec. 20051 056 inlägg
#4

Otroligt bra länk Troxy! Tackar.

129 ms totalt · 3 externa anrop · v20260731065814-full.102f7fcd
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)