Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Artiklar / Titel på artikeln

XMLHTTP - Att läsa av och skriva från annan hemsida

Postad 2005-06-07 av Johan Davidsson i sektionen ASP.NET, C#, Okategoriserat med 4 Kommentarer | Läst av: 7594, Betyg: 67%

Förord

XMLHTTP används för att läsa av andra hemsidors innehåll, det finns externa komponenter till IIS såsom ASPTear. Men med XMLHTTP och RegExp (Regular Expressions) kan du göra en hel del. Att läsa av andra hemsidors innehåll kan vara praktiskt för flera ändamål, tex. om du har en webbshop och vill veta vad paketet befinner sig på posten, men mitt exempel ska hämta Innebandyns Elitserietabell
Innehåll
Relaterade artiklar
Tänk på att när du hämtar en sidas innehåll måste målets laddningstid läggas på den befintliga, vilket då besökarna kan uppleva som på tok för tidskrävande. Dessutom ska inte förglömmas att du snor serverkraft från målets sida, något som förmodligen inte uppskattas. En lösning på bägge dom här problemen när du har information som inte behöver uppdateras varje gång en person besöker sidan är att lagra informationen i en .txt fil och uppdatera emellanåt, antingen att du låter besökaren göra det genom att räkna tiden från senaste hämtningen eller att du ställer in en ”Schemalagd aktivitet” som du hittar i Windows under kontrollpanelen.

Set objGetPage = Server.CreateObject("Microsoft.XMLHTTP")
objGetPage.Open "GET","http://www.innebandy.se/Table.asp?TournamentId=25424", False

Vi börjar med att skapa objektet och döper det till objGetPage, sedan öppnar vi det och anger samtidigt adressen, http://www.innebandy.se/Table.asp?TournamentId=25424, till sidan vi vill läsa av.

objGetPage.Send
strHTML=objGetPage.responseText

Efter det aktiverar vi objektet, för att sedan skriva ut innehållet använder vi ’responseText’. För att göra resten av koden smidig lägger vi den i en sträng som vi kallar strHTML.

objGetPage.Close
Set objGetPage = Nothing

Vi avslutar sedan objektet så att det inte hänger kvar och segar ner servern.

Emellan här vill du förmodligen plocka bort målets design och onödig information, du gör det lättast med RegExp. Spana in artiklar vars ämne enbart är RegExp.

Då var det alltså dags att spara informationen (som du förhoppningvis har rensat med RegExp).
Set objFSO= CreateObject("Scripting.FileSystemObject")
Set objTxt = objFSO.CreateTextFile(Server.MapPath("XMLHTTP ") & "/elitserien.txt")

objTxt.WriteLine strHTML

objTxt.Close
Set objTxt = Nothing
objFSO.Close
Set objFSO = Nothing

Vi använder FSO för att skapa filen ‘Elitserien.txt’ under mappen ’XMLHTTP’. Vi skriver sedan in hela strängen med ’WriteLine’. Sist men ack så viktigt avslutar vi objekten.

Till slut för att skriva ut informationen på din hemsida kan du använda SSI (Server Side Inlcude)


Innan du tar information från andra hemsidor bör du fråga ägaren om det är ok, lagen i frågan är väldigt svårtolkad men att som i tex. mitt exempel ta en tabell från ett förbunds sida borde inte vara några problem.
Upp

4 Kommentarer


  1. Andreas Jagelund
    8 jun 2005

    ...skulle vilja se mer av användningen av RegExp som ju är den "svåra" biten i det hela... Fotnot: när det gäller posten så behöver man inte använda XMLHTTP eftersom man kan få en snygg XML-fil utläst genom en webtjänst som posten driftar...


  2. Simon Dahlbacka
    10 jul 2005

    Du kan göra så där (speciellt om det inte är en well-formed xml sida du vill ha), men gräva fram relevant information ur ett DOM träd är enklare, och det får du ju gratis genom responseXML (eller vad den nu exakt heter)


  3. Stefan Norinder
    17 aug 2005

    Måste man ha tillstånd från den vars sidan man läser för att få göra det?


  4. David Andersson
    13 dec 2005

    Perfekt! Precis vad jag letat i timmar efter... Har dock en liten fråga: jag får Microsoft VBScript runtime error '800a01b6': "Object doesn't support this property or method: 'objGetPage.Close'" Är inte det märkligt?

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 158
27 952
271 704
1 194
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies