Avatar billede adagio Nybegynder
17. september 2003 - 19:00 Der er 27 kommentarer og
1 løsning

Åben .html side som txt?

Jeg har følgende kode:

txtFile = FileHandling.readTxt("http://www.imdb.com/find?q=filmtitel")

FileHandling er en klasse jeg selv har lavet. Koden bag readTxt virker fint (Har aftestet med nogle .txt filer)

Men når jeg prøver ovenstående kode, så kan den ikke finde filen. Findes der ikke en måde at få hentet informationerne ud fra den side, og ind i et textBox?
Avatar billede odegaard Nybegynder
17. september 2003 - 20:46 #1
En URL er jo slet slet slet ikke en fil. Dér skal du til at bruge webrequest.
Avatar billede adagio Nybegynder
17. september 2003 - 22:30 #2
Og hvad er det?
Avatar billede odegaard Nybegynder
18. september 2003 - 01:30 #3
URL er et link til en adresse. Dvs. adressen på en hjemmeside. Det kan du ikke behandle som var det blot en fil.
Skal du hente sider fra nettet, er det noget mere kompliceret. De skal jo reelt først requestes fra webserveren og derefter downloades. Når downloadningen så er færdig kan du omsætte dette til en tekststreng.
Avatar billede adagio Nybegynder
18. september 2003 - 10:35 #4
Det var ikke url, men webrequest jeg spurgte om
Avatar billede adagio Nybegynder
18. september 2003 - 15:13 #6
Den kan ikke lige finde qebrequest, når jeg skriver
dim wr as webrequest = WebRequest.Create("http://www.contoso.com")

Når webrequest skal importeres, er det så ikke under projektets properties, under import, hvor der skal skrives System.net.webreqest?
Avatar billede odegaard Nybegynder
18. september 2003 - 15:19 #7
Import System.Net.WebRequest
eller
Import System.Net
i toppen af koden
Avatar billede adagio Nybegynder
18. september 2003 - 15:34 #8
Hvis jeg skriver det i toppen af koden, laver den bølger under import :confused:
Avatar billede odegaard Nybegynder
18. september 2003 - 15:40 #9
Sorry ikke Import, men Imports.
Dvs.
Imports System.Net.WebRequest
Avatar billede adagio Nybegynder
18. september 2003 - 15:43 #10
Ahhh takker... tester videre med kode senere, smutter nu
Avatar billede adagio Nybegynder
18. september 2003 - 16:32 #11
Hvordan er det lige man får selve siden (koden)?
Avatar billede odegaard Nybegynder
18. september 2003 - 16:57 #12
Ved at gøre som i eksemplet jeg linkede til.
Avatar billede adagio Nybegynder
18. september 2003 - 19:13 #13
Ummidelbart er det ikke noget jeg kender til, så jeg kan ikke lige se hvordan jeg kan få den direkte html kode fra siden
Avatar billede adagio Nybegynder
18. september 2003 - 19:13 #14
Altså jeg mener at få texten indsat i en textfield eller sådan noget?
Avatar billede odegaard Nybegynder
18. september 2003 - 21:08 #15
Du vil indsætte html-kode i en textboks? textbokse understøtter ikke html-koder.
Avatar billede odegaard Nybegynder
18. september 2003 - 21:09 #16
Eller du vil måske se selve html-koden i tekstboksen? Altså ovenstående eksempel henter hele HTML koden fra en given URL. Har du i det hele taget forsøgt?
Avatar billede adagio Nybegynder
20. september 2003 - 12:31 #17
Jeg har prøvet mig frem, men kan ummidelbart ikke finde nogen metoder som kan returnere html koden fra webrequest!?!
Avatar billede odegaard Nybegynder
20. september 2003 - 16:16 #18
Det fatter jeg ikke et hak af. Det er jo netop det den er beregnet til. En webrequest requester indhold fra en URL og modtager så hvad der nu måtte findes på den URL (tekst eller binært data afhængig af om du request fx. en HTML side eller et billede).
Avatar billede adagio Nybegynder
21. september 2003 - 11:42 #19
Og jeg fatter ikke et hak af hvad du prøver at fortælle mig.

Nu har jeg skrevet dette:

Dim myRequest As WebRequest = WebRequest.Create("http://www.contoso.com")

Dim myResponse As WebResponse = myRequest.GetResponse()


Men hvad skal jeg så gøre med denne response? Jeg kan jo ikke bare skrive:

TextField1.text = myRespone.getResponse
Avatar billede odegaard Nybegynder
21. september 2003 - 12:16 #20
Nej. GetResponse() returnerer et WebResponse objekt.
Herefter kan du hente en stream ud fra din WebResponse.
Fx.
Dim MyStream = myRequest.GetResponse().GetResponseStream()

Jeg biksede lige en rutine sammen som kan gøre hvad du ønsker, så du slipper for at sidde og svede hele søndagen :-)

Public Function GetUrl(url As string ) As String
    Dim request As WebRequest = WebRequest.Create(url)
    Dim response As WebResponse = request.GetResponse()
    Dim reader As StreamReader = New StreamReader(response.GetResponseStream())
    Dim rtrnValue String = String.Copy(reader.ReadToEnd())
    Reader.Close
    Return rtrnValue
End Function
Avatar billede adagio Nybegynder
22. september 2003 - 10:44 #21
Takker :o)

Dog ser det ud til at det jeg har tænkt mig, ikke kan lade sig gøre, da når jeg prøver, så kommer der en fejlmeddelelse:

Additional information: The remote server returned an error: (403) Forbidden.

Dette sker når jeg sender denne ind som url:
http://www.imdb.com/find?q=filmtitel

Hvilket undrer mig, da jeg har set et andet program som gør dette :confused:
Avatar billede odegaard Nybegynder
22. september 2003 - 12:49 #22
Nå så kom eksperten endelig op igen, så jeg kan poste mit tidligere :-)
Hov der var vist par slåfejl. Husk også at importere System.Net og System.IO:

Public Function GetUrl(url As string ) As String
    Dim request As WebRequest = WebRequest.Create(url)
    Dim response As WebResponse = request.GetResponse()
    Dim reader As StreamReader = New StreamReader(response.GetResponseStream())
    Dim rtrnValue As String = String.Copy(reader.ReadToEnd())
    Reader.Close
    return rtrnValue
End Function
Avatar billede odegaard Nybegynder
22. september 2003 - 12:50 #23
Hov, du ved godt at det du gør er ulovligt? Hvis du ikke har en tilladelse fra imdb.com, så må du bestemt "rippe" teksterne fra andres websider.
Avatar billede odegaard Nybegynder
22. september 2003 - 12:50 #24
øh "bestem ikke" :)
Avatar billede odegaard Nybegynder
22. september 2003 - 12:50 #25
hmm det går vist ikke for godt for mig. Jeg tror bare jeg lader være...
Avatar billede adagio Nybegynder
22. september 2003 - 13:33 #26
Det vidste jeg ikke var ulovligt. Troede det var, siden det andet program jeg har fundet et andet sted ikke på nogen måder antyder at de har tilladelse til at gøre det (Og de gør det fra 5 forskellige sider)

Men så lukker jeg bare spg. Du skal nok få dine point. Takker for svaret
Avatar billede odegaard Nybegynder
22. september 2003 - 13:56 #27
Nej hvis du blot tager al det information de ligger ud, så ender det jo med at alle "tyvenes" hjemmesider besøges i stedet for, hvilket betyder nul kroner i reklameindtægter til IMDB, og må lukke. Det tror jeg bestemt ikke IMDB er interesseret i.
http://www.imdb.com/conditions :
"The compilation of all content on this site is the exclusive property of IMDb and protected by U.S. and international copyright laws"
Du kan få tilladelse. Læs her:
http://www.imdb.com/Licensing/
Avatar billede adagio Nybegynder
22. september 2003 - 14:20 #28
Takker for linket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester