Output von WGet (und anderen Programmen) einlesen
Verfasst: 23.04.2014 12:20
Hallo zusammen,
ich schlage mich schon länger mit dem Download von Podcasts herum.
Die Links die ich herzu aus den RSS Feeds ziehe, sind aber selten direkte Links sondern laufen
teilweise über mehrere Redirects.
"ReceiveHTTPFile" geht da ziemlich schnell in die Knie. Die HTTP Library von DarkPlayer kann da schon mehr, gibt aber bei manchen
Feeds auch auf.
Die Windows Version von WGet ist bisher noch nie gescheitert, also habe ich mich entschlossen auf dieses Pferd zu setzen.
Das Abfragen der Exitcodes um sie in meinem Programm auszugeben ist kein Problem.
Aber ich bekomme es einfach nicht hin die Ausgabe in meinem Programm auszugeben.
Insbesondere die letzte Zeile der Ausgabe, nämlich der Downloadprogress, wäre für mich interessant.
Sie soll in einem Editorgadget ausgegeben werden.

Wenn ich wget ohne Parameter starte, und das ganze nicht als Unicode kompiliere,
dann bekomme ich immerhin etwas. (Mit Unicode kommt nur Müll)
Sobald ich aber Wget eine Url als Parameter gebe, kommt nichts mehr zurück.
Auch aus den Topics (hier & im englischsprachigen Forum) werde ich nicht so recht schlau.
Habe auch schon überlegt ob man das ganze irgendwie in der Console ausgeben kann, die Console unterdrückt,
und den Consolenoutput dafür im Editorgadget ausgibt, aber das erscheint mir leicht Balabala
Grüße
Sebastian
ich schlage mich schon länger mit dem Download von Podcasts herum.
Die Links die ich herzu aus den RSS Feeds ziehe, sind aber selten direkte Links sondern laufen
teilweise über mehrere Redirects.
"ReceiveHTTPFile" geht da ziemlich schnell in die Knie. Die HTTP Library von DarkPlayer kann da schon mehr, gibt aber bei manchen
Feeds auch auf.
Die Windows Version von WGet ist bisher noch nie gescheitert, also habe ich mich entschlossen auf dieses Pferd zu setzen.
Das Abfragen der Exitcodes um sie in meinem Programm auszugeben ist kein Problem.
Aber ich bekomme es einfach nicht hin die Ausgabe in meinem Programm auszugeben.
Insbesondere die letzte Zeile der Ausgabe, nämlich der Downloadprogress, wäre für mich interessant.
Sie soll in einem Editorgadget ausgegeben werden.

Wenn ich wget ohne Parameter starte, und das ganze nicht als Unicode kompiliere,
dann bekomme ich immerhin etwas. (Mit Unicode kommt nur Müll)
Code: Alles auswählen
OpenWindow(0, 0, 0, 512, 384, "", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
EditorGadget(0, 10, 10, 492, 364)
Wget = RunProgram("wget.exe", "", "", #PB_Program_Open | #PB_Program_Read )
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
EndSelect
If AvailableProgramOutput(Wget)
String.s = ReadProgramString(Wget)
AddGadgetItem(0, -1, String)
EndIf
ForEver
KillProgram(Wget)
CloseProgram(Wget)
Auch aus den Topics (hier & im englischsprachigen Forum) werde ich nicht so recht schlau.
Habe auch schon überlegt ob man das ganze irgendwie in der Console ausgeben kann, die Console unterdrückt,
und den Consolenoutput dafür im Editorgadget ausgibt, aber das erscheint mir leicht Balabala

Grüße
Sebastian