Nyeste it-job

Hent dokumenter fra andre websteder med AspHTTP

af Jonas Astrup, HTML.dk
Sidst opdateret d. 1. juni 2001

Grafik med en tyveknægt

Dette eksempel viser, hvordan du med komponenten AspHTTP kan hente dokumenter fra andre websteder ind på dit eget websted, og præsentere dem under dit domæne.

Princippet svarer nogenlunde til at Server Side Include (SSI) et dokument fra et andet domæne, hvilket jo som bekendt netop ikke kan lade sig gøre - så her er en alternativ løsning.

For at kunne benytte disse scripts må komponenten AspHTTP fra ServerObjects.com være tilgængeligt på dit webhotel/server. Nogle udbydere giver adgang til denne komponent - ellers kan man købe/downloade komponenten fra ServerObjects.com.

Eksempel 1 : Hent et dokument

Som det første eksempel vil vi hente forsiden fra jubii.dk og vise under domænet HTML.dk - så husk at kigge på adresselinien i din browser når du får vist nedenstående eksempel:

<%
Set HttpObj = Server.CreateObject("AspHTTP.Conn")
HTTPObj.Url = "http://www.jubii.dk"
Response.Write HTTPObj.GetURL
%>

Som du nok har opdaget, kan denne metode virke lidt stødende i forhold til begreber som ophavsret og god skik. Men komponenten har mange andre anvendelsesmuligheder end blot at stjæle andres dokumenter.

Eksempel 2 : Check et link

Med AspHTTP kan man også få fat på den såkaldte "HTTP response" - det vil sige det svar, som en webserver returnerer når man spørger den om lov til at se et dokument. F.eks. returnerer en webserver "404 Object Not Found" når et dokument ikke findes på serveren (Se alle HTTP Header koder). Det kan vi udnytte til et eksempel hvor vi tjekker om et link er gyldigt.

Til eksemplet har vi brug for noget, som vi med 100% sikkerhed ved ikke findes - f.eks. intelligens hos Dansk folkeparti. Hvis vi leder efter det, er vi helt sikre på at få beskeden: "404 Object Not Found" - lad os prøve:

<%
Set HttpObj = Server.CreateObject("AspHTTP.Conn")
HTTPObj.Url = "http://www.danskfolkeparti.dk/intelligens"
HTTPObj.GetURL
Response.Write "<p>Du spurgte efter mappen <em>intelligens</em> hos www.danskfolkeparti.dk</p>"
Response.Write "<p>Og serveren svarede straks: <strong>" & HttpObj.Response & "</strong></p>"
%>

Ganske som du havde forestillet dig, ikke?

Du kan faktisk også bruge denne funktion til noget fornuftigt. Forestil dig at du har flere hundrede links, som du ikke er helt sikre på om er iorden. Normalt ville du måske sidde og tjekke dem manuelt, men med denne funktion kan du gøre det hurtigt og automatisk. Du finder et færdigt script til sådan en linkchekker her.

Eksempel 3 : Hent binære data

Du kan også bruge AspHTTP til at hente binære data fra en anden server - f.eks. et billede, i dette tilfælde af Webguruen Jakob Nielsen fra useit.com:

<%
Response.ContentType = "image/jpeg"
Set HTTPObj = Server.CreateObject("AspHTTP.Conn")
HTTPObj.Url = "http://www.useit.com/jakob/photos/jakob_likes_it.jpg"
HTTPObj.GetURL
Response.BinaryWrite HTTPObj.BinaryData
%>

AspHTTP har mange flere funktioner, dem kan du læse mere om i manualen for AspHTTP hos ServerObjects.com.


Nyhedsbrev
Tilmeld dig HTML.dk's nyhedsbrev


Er du jobsøgende?

 Ja
 Nej
Se det foreløbige resultat når du har stemt!


Se tidligere afstemninger

 Community
Brugernavn

Adgangskode

Husk

 *  Bliv medlem her
 *  Glemt password?


Om HTML.dk | Oplysninger om ophavsret | Politik om persondata | Annoncer på HTML.dk | RSS

Valid XHTML 1.1! Valid CSS! Powered by Scannet