iKo95 Geschrieben 8. Juli 2005 Teilen Geschrieben 8. Juli 2005 Hallo zusammen, hab hier mal wieder eine Frage... Ich will mit Perl überprüfen ob eine Datei im Web existiert, und wenn ja, soll sie mit wget heruntergeladen werden. Der Teil mit wget funktioniert auch, bloß weiß ich nicht recht wie ich die Überprüfung hinbekomme... :confused: so oder so ähnlich würde ich das brauchen... funktioniert in der Form aber nicht $datei="http://www.mysite.org/bild.jpg"; if (system("wget $datei")) { # datei existiert } else { # existiert nicht } ...[/PHP] kennt jemand eine brauchbare Lösung? mfg iKo95 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
alligator Geschrieben 8. Juli 2005 Teilen Geschrieben 8. Juli 2005 Hi, wozu wget? Schau dir mal LWP::simple bzw. LWP::UserAgent an ... # Beispiel use LWP::UserAgent; $ua = LWP::UserAgent->new(); $url = 'http://www.somewhere.com/' $request = HTTP::Request->new('GET', $url); $file = 'local.html'; $response = $ua->request($request, $file); if ( $response->is_error() ) { print "Error-Code : ", $response->code() , "\n"; print "Fehlermeldung: ", $response->message() , "\n"; } else { print $response->content() , "\n"; } cya alligator Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
iKo95 Geschrieben 8. Juli 2005 Autor Teilen Geschrieben 8. Juli 2005 naja wget war das erste was mir da eingefallen ist... hatte bloß keinen plan wie ich da ran gehen könnte. Danke auf jeden Fall für diese tolle Idee! Hab mir ja denken können dass es für sowas bestimmt ne Methode gibt Es klappt leider noch nicht ganz, ich bekomme dauernd 403: Forbidden! wenn ich aber den dateinamen im browser eingebe, erscheint alles problemlos... hm, ich denke da müsste ich einfach etwas rumbasteln.. Danke für die schnelle Antwort & gn8 gruß iKo95 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
xmurrix Geschrieben 9. Juli 2005 Teilen Geschrieben 9. Juli 2005 Hallo, wenn Du über LWP::UserAgent eine Anfrage an einen Server schickst, wird per Default 'libwww-perl/xxx' im Header der Anfrage verschickt. Viele Server sind so konfiguriert, dass Anfragen auf Ressourcen von bestimmten UserAgents gesperrt sind. Ersezte einfach den Standard LWP::UserAgent String gegen einen anderen z. B. 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.8) Gecko/20050511 Firefox/1.0.4'. $uastr = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.8) Gecko/20050511 Firefox/1.0.4'; $ua->agent($uastr); $response = $ua->request($request, $file); Gruß xmurrix Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
iKo95 Geschrieben 9. Juli 2005 Autor Teilen Geschrieben 9. Juli 2005 dankeschön hat mir echt geholfen! Noch eine frage hätte ich allerdings.... gibt es eine Möglichkeit von WGET Informationen auszulesen... zB wieviele Dateien tatsächlich erfolgreich heruntergeladen wurden? Ich weiss dass wget am Ende des Downloads selbst hinschreibt wieviele Dateien und wieviel Bytes heruntergeladen wurden, aber kann man diese Infos auch in einer Variable abspeichern? Konkretes Beispiel: Schleife: Wenn bereits 10 Dateien erfolgreich heruntergeladen wurden -> Download abbrechen, ansonsten weitermachen.... geht sowas? mfg iKO95 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.