Seite 1 von 2

ReceiveHTTPFile will Datei nicht runterladen

Verfasst: 05.04.2009 18:32
von X360 Andy
Ich möchte von ein Youtube Video den Namen rausfinden, dazu lade ich von dem Video den Quelltext herunter und lese die <title> Zeile einfach aus.

Wenn ich ReceiveHTTPFile so einsetze (Siehe unten) dann kommt bei mir immer 0 raus.

Mach ich irgendwas falsch oder liegt das an der PB Funktion ?

URLDownloadToFile_ möchte ich eig. auch nicht nützen da hier ja wieder
Heuristik sofort anspringt.

Und da ich dank dem [url=http://www.purebasic.fr/english
/viewtopic.php?p=179559]Bug[/url] kein WebGadget nutzen kann fällt
das auslesen des Webadgets auch weg , und vorher das Webgadget mit Setgadgettext() ändern dauert leider zu lange.

Code: Alles auswählen

If ReceiveHTTPFile("http://www.youtube.com/watch?v="+ID$,"xname.html")
If  ReadFile(0, "xname.html")
Über eine kleine Hilfe würde ich mich freuen :D

Verfasst: 05.04.2009 18:37
von Andesdaf
vielleicht stimmt ID$ nicht?
Vor ReceiveHTTPFile muss InitNetwork aufgerufen werden.

Verfasst: 05.04.2009 18:38
von X360 Andy
Initnetwork wird erfolgreich aufgerufen.
Und ID$ stimmt auch.
Wenn ich Debug im Browser aufrufe wird die Seite die ich will angezeigt.

Code: Alles auswählen

Debug http://www.youtube.com/watch?v="+ID$

Verfasst: 05.04.2009 18:42
von Andesdaf
zeig doch mal nen vollständigen Code her, vielleicht lässt sich von dort
aus was sehen.

Und behebe mal bitte den Bug mit dem Link im ersten Posting.

Verfasst: 05.04.2009 18:46
von X360 Andy
Ich rästel schon die ganze Zeit an dem "Bug" rum :?

Code: Alles auswählen

InitNetwork() 
Procedure Videonamen(ID$)
If ReceiveHTTPFile("http://www.youtube.com/watch?v="+ID$,"xname.html")
  If  ReadFile(0, "xname.html")   
    While Eof(0) = 0    
      namestring$ =  ReadString(0)  
      Debug namestring$
      Wend
     CloseFile(0)  
  EndIf
EndIf 
EndProcedure 


    Hauptlink$ = "http://www.youtube.com/watch?v=nySMBojFkw0" ; GetGadgetText(#String_0)
    VideoId$=StringField(Hauptlink$,2,"=")
    VideoId$=StringField(VideoId$,1,"&")
    Videonamen(VideoID$)
Das wäre das mit dem Namen ....

Verfasst: 05.04.2009 18:48
von ts-soft
URLEncoder(URL$) ?

Verfasst: 05.04.2009 18:53
von Andesdaf
geht doch? Nach dem ausführen befindet sich eine Datei Namens
"xname.html" im Ordner GetHomeDirectory()+"\Documents".

Du solltest vielleicht den ausgabepfad bei ReceiveHTTPFile ändern auf
GetHomeDirectory oder so.

Verfasst: 05.04.2009 18:56
von X360 Andy
ts-soft hat geschrieben:URLEncoder(URL$) ?
Könntest du vieleicht noch sagen wie du das meinst ?
Wieso sollte ich die URL noch veschlüsseln ?
Andesdaf hat geschrieben:geht doch? Nach dem ausführen befindet sich eine Datei Namens
"xname.html" im Ordner GetHomeDirectory()+"\Documents".

Du solltest vielleicht den ausgabepfad bei ReceiveHTTPFile ändern auf
GetHomeDirectory oder so.
Bei mir passiert nix, ich hab die Pfade Relativ , Absolut mit Gettemp... alles schon versucht.


Und diesen scheiss Link bekomme ich nicht zum laufen !
Habs heute nicht so ... :lol:

Verfasst: 05.04.2009 19:04
von Andesdaf
bei mir geht's auch mit deinem Beispiel oben ohne veränderung.

Welche PureBasic Version benutzt du?

Verfasst: 05.04.2009 19:05
von X360 Andy
4.3 - Vista - 32Bit
Aber auch auf 4.2 gehts nicht ....
Muss mal ein bisschen mit der Firewall rumspielen , könnte ja daran liegen