Seite 2 von 3

Re: Output von WGet (und anderen Programmen) einlesen

Verfasst: 23.04.2014 16:29
von Sebert
Hi Kiffi,

vielen Dank, das wars. Jetzt muß ich mir noch überlegen wie ich mir den Output
in was handlicheres zerlege, denn so ist das einfach zu viel, aber ein Anfang ist gemacht.


Aber auch vielen Dank an Thomas & ts-soft für eure Mühen

Grüße

Sebastian

Re: Output von WGet (und anderen Programmen) einlesen

Verfasst: 23.04.2014 16:34
von ts-soft
Wie gesagt, die Hilfe lesen hilft meist auch :mrgreen:
GNU Wget 1.11.4 Manual hat geschrieben:The messages are normally reported to standard error.
Den Rest wirste ja jetzt schaffen, ansonsten: die Hilfe hilft :wink:

Re: Output von WGet (und anderen Programmen) einlesen

Verfasst: 23.04.2014 16:37
von Sebert
ts-soft hat geschrieben:Wie gesagt, die Hilfe lesen hilft meist auch :mrgreen:
GNU Wget 1.11.4 Manual hat geschrieben:The messages are normally reported to standard error.
Den Rest wirste ja jetzt schaffen, ansonsten: die Hilfe hilft :wink:
Ja, den Rest bekomme ich mit Trial & Error hin :allright:

Und das mit der Hilfe, habe den Absatz "Logging and Input File Options" sogar überflogen,
aber da es da um logfiles ging habe ich das übersprungen, weil scheinbar nicht von Interesse :doh:

Grüße

Sebastian

Re: Output von WGet (und anderen Programmen) einlesen

Verfasst: 03.05.2014 19:24
von Sebert
Servus,

habe dann dochmal eine Frage, bzw. bin auf ein Verhalten gestossen, welches ich mir nicht erklären kann.

Anbei mein Code

Code: Alles auswählen

  

Kommandline = "-O "+ zieldatei + " " + url + " --no-check-certificate"

 Wget = RunProgram(wgetpfad,Kommandline,zielordner,#PB_Program_Open| #PB_Program_Error | #PB_Program_Hide)

If Wget
    ClearGadgetItems(#TEXT_DOWNLOAD)
    While ProgramRunning(Wget)
      String = ReadProgramError(Wget)
      If String <> ""
        AddGadgetItem(#TEXT_DOWNLOAD, 0, String)
      EndIf  
   Wend 
  
  AddGadgetItem(#TEXT_AUSGABE,-1,"Exitcode " + ProgramExitCode(Wget) )
  ProcedureReturn ProgramExitCode(Wget) 
  KillProgram(Wget)
  CloseProgram(Wget)  
Else
  ProcedureReturn 1
EndIf
Das klappt auch wie gewünscht bei fast allen meinen Podcasts. Den Parameter " --no-check-certificate" habe ich wegen einem
Podcast hinzugefügt: http://feeds.podtrac.com/0nc59cm6Sqs$
Da gibt es sonst Knatsch gibt wegen eines fehlerhaften Zertifikates.
Und wenn ich das manuell versuche, bzw. mir die Kommandline ausgeben lasse, und damit wget starte, dann klappt alles.
Innerhalb meines Programmes springt "If Wget" hier sofort auf #False und der download startet nicht.
Wenn ich die Flags bei RunProgram weglasse, dann klappt es. Fällt jemanden dazu eine Erklärung ein?

Grüße

Sebastian

Re: Output von WGet (und anderen Programmen) einlesen

Verfasst: 03.05.2014 19:42
von NicTheQuick
Hast du es schon mal mit Anführungszeichen versucht?

Code: Alles auswählen

Kommandline = "-O " + Chr(34) + zieldatei + Chr(34) + " " + Chr(34) + url + Chr(34) + " --no-check-certificate"

Re: Output von WGet (und anderen Programmen) einlesen

Verfasst: 03.05.2014 19:48
von Sebert
Hi Nic,

getestet, macht aber keinen Unterschied (wget erwartet sowieso keine Anführunszeichen). Die Kommandline an sich tut ja auch.
Problem ist ja nur das Verhalten mit den Flags.

Grüße

Sebastian

Re: Output von WGet (und anderen Programmen) einlesen

Verfasst: 03.05.2014 20:01
von Kiffi
mh, überall lese ich sowas hier:
wget [option]... [URL]...
versuch mal testweise "--no-check-certificate" nach vorne zu setzen. Sollte eigentlich keinen Unterschied machen, aber vielleicht hilft's ja.

Grüße ... Kiffi

Re: Output von WGet (und anderen Programmen) einlesen

Verfasst: 03.05.2014 20:11
von Sebert
Hi kiffi,

macht leider auch keinen Unterschied.

Könnte es daran liegen, dass Wget bei diesem feed auf die SSL Funktionen der im Paket enthaltenen "libssl32.dll" zurückgreift,
und dass die Sache durcheinanderbringt?

Grüße

Sebastian

Re: Output von WGet (und anderen Programmen) einlesen

Verfasst: 05.05.2014 22:14
von Kiffi
Sebert hat geschrieben:Den Parameter " --no-check-certificate" habe ich wegen einem
Podcast hinzugefügt: http://feeds.podtrac.com/0nc59cm6Sqs$
Da gibt es sonst Knatsch gibt wegen eines fehlerhaften Zertifikates.
habe ich grade nochmal selber ausprobiert. Kein Knatsch bei mir.
Und auch kein Fehler beim Programmstart (ohne und mit '--no-check-...').

Code: Alles auswählen

EnableExplicit

Define wgetpfad.s = Chr(34) + "C:\Program Files (x86)\GnuWin32\bin\wget.exe" + Chr(34)
Define url.s = "http://feeds.podtrac.com/0nc59cm6Sqs$"
Define zieldatei.s = GetTemporaryDirectory() + "feed.xml"
Define zielordner.s = GetTemporaryDirectory()

; Define Kommandline.s = "-O " + zieldatei + " " + url + " --no-check-certificate"
Define Kommandline.s = "-O " + zieldatei + " " + url ; + " --no-check-certificate"

Define Wget = RunProgram(wgetpfad,Kommandline,zielordner,#PB_Program_Open| #PB_Program_Error | #PB_Program_Hide)

Define String.s

If Wget
	
	While ProgramRunning(Wget)
		String = ReadProgramError(Wget)
		If String <> ""
			Debug String
		EndIf  
	Wend 
	
	Debug "Exitcode " + ProgramExitCode(Wget)
	
	KillProgram(Wget)
	
	CloseProgram(Wget)  
	
EndIf
[22:10:43] SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
[22:10:43] syswgetrc = C:\Program Files (x86)\GnuWin32/etc/wgetrc
[22:10:43] --2014-05-05 22:10:43-- http://feeds.podtrac.com/0nc59cm6Sqs$
[22:10:43] Auflösen des Hostnamen »feeds.podtrac.com«.... 174.129.205.3
[22:10:43] Verbindungsaufbau zu feeds.podtrac.com|174.129.205.3|:80... verbunden.
[22:10:43] HTTP Anforderung gesendet, warte auf Antwort... 200 OK
[22:10:43] Länge: nicht spezifiziert [application/rss+xml]
[22:10:43] In »C:/Users/Pitta/AppData/Local/Temp/feed.xml« speichern.
[22:10:44] 0K .......... .......... .......... .......... .......... 128K
[22:10:44] 50K .......... .......... .......... .......... .......... 389K
[22:10:44] 100K .......... .......... .......... .......... .......... 424K
[22:10:44] 150K .......... .......... .......... .......... .......... 1,24M
[22:10:44] 200K .......... .......... .......... .......... ........ 415K=0,8s
[22:10:44] 2014-05-05 22:10:44 (313 KB/s) - »C:/Users/Pitta/AppData/Local/Temp/feed.xml« gespeichert [254098]
[22:10:44] Exitcode 0
Sicher, dass das der richtige URL ist?

Grüße ... Kiffi

Re: Output von WGet (und anderen Programmen) einlesen

Verfasst: 06.05.2014 06:21
von Sebert
Hi kiffi,

vielleicht habe ich mich da unklar ausgedrückt.
Der Feed ist in Ordnung, es geht um die enclosures des feeds.

Also zBsp
"http://www.podtrac.com/pts/redirect.mp3 ... 030512.mp3"

Da kommt dann ohne "--no-check..." folgendes bei mir raus:

Code: Alles auswählen

--2014-05-06 06:18:42--  http://www.podtrac.com/pts/redirect.mp3/www.dragonpage.com/podpress_trac/feed/3467/0/DrgnPgC2C_Ep464_030512.mp3
Resolving www.podtrac.com... 69.16.232.40
Connecting to www.podtrac.com|69.16.232.40|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://www.dragonpage.com/podpress_trac/feed/3467/0/DrgnPgC2C_Ep464_030512.mp3 [following]
--2014-05-06 06:18:42--  http://www.dragonpage.com/podpress_trac/feed/3467/0/DrgnPgC2C_Ep464_030512.mp3
Resolving www.dragonpage.com... 50.78.224.105
Connecting to www.dragonpage.com|50.78.224.105|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://dl.dropbox.com/s/w024evh8ba0m49q/DrgnPgC2C_Ep464_030512.mp3 [following]
--2014-05-06 06:18:43--  http://dl.dropbox.com/s/w024evh8ba0m49q/DrgnPgC2C_Ep464_030512.mp3
Resolving dl.dropbox.com... 54.225.160.64
Connecting to dl.dropbox.com|54.225.160.64|:80... connected.
HTTP request sent, awaiting response... 302 FOUND
Location: http://dl.dropboxusercontent.com/s/w024evh8ba0m49q/DrgnPgC2C_Ep464_030512.mp3 [following]
--2014-05-06 06:18:43--  http://dl.dropboxusercontent.com/s/w024evh8ba0m49q/DrgnPgC2C_Ep464_030512.mp3
Resolving dl.dropboxusercontent.com... 50.16.206.191, 50.16.219.169, 50.19.217.218, ...
Connecting to dl.dropboxusercontent.com|50.16.206.191|:80... connected.
HTTP request sent, awaiting response... 302 FOUND
Cookie coming from dl.dropboxusercontent.com attempted to set domain to dropbox.com
Cookie coming from dl.dropboxusercontent.com attempted to set domain to dropbox.com
Location: https://dl.dropboxusercontent.com/s/w024evh8ba0m49q/DrgnPgC2C_Ep464_030512.mp3 [following]
--2014-05-06 06:18:44--  https://dl.dropboxusercontent.com/s/w024evh8ba0m49q/DrgnPgC2C_Ep464_030512.mp3
Connecting to dl.dropboxusercontent.com|50.16.206.191|:443... connected.
ERROR: cannot verify dl.dropboxusercontent.com's certificate, issued by `/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA':
  Unable to locally verify the issuer's authority.
To connect to dl.dropboxusercontent.com insecurely, use `--no-check-certificate'.
Unable to establish SSL connection.
EDIT: Bei deinem Code funzt der Download auch mit der komischen SSL Verbindung...grübel

Grüße

Sebatsian