wget liefert Datei mit Größe NULL

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Michahe
Beiträge: 85
Registriert: 21.03.2016 19:27:53
Lizenz eigener Beiträge: GNU General Public License

wget liefert Datei mit Größe NULL

Beitrag von Michahe » 12.11.2023 10:13:47

Hallo,

für Recherchezwecke sollen HTML-Seiten aus einer Domain ausgewertet erden:
  • Für ein Script nutze ich wget, damit wird die Datei gespeichert, ist aber leer:

Code: Alles auswählen

$ wget --output-document="/mnt/Daten/.../Check.html" "https://xyz.de/search.asp?abc..."
  • Mit curl wird die Datei in voller Größe gespeichert:

Code: Alles auswählen

$ curl --output "/mnt/Daten/.../Check.html" "https://xyz.de/search.asp?abc..."
Was ist das Problem mit wget?
Zuletzt geändert von Michahe am 12.11.2023 14:12:56, insgesamt 1-mal geändert.

Benutzeravatar
Livingston
Beiträge: 1455
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: grep liefert Datei mit Größe NULL

Beitrag von Livingston » 12.11.2023 10:52:43

Vielleicht einfach in dem Moment Pech gehabt, als Du den Befehl abgesetzt hast? (kleiner Serverausfall, Netzwerkproblem)
Das da

Code: Alles auswählen

$ wget -O dbforum.html "https://debianforum.de/forum/viewforum.php?f=34"
funktioniert anstandslos.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Michahe
Beiträge: 85
Registriert: 21.03.2016 19:27:53
Lizenz eigener Beiträge: GNU General Public License

Re: wget liefert Datei mit Größe NULL

Beitrag von Michahe » 12.11.2023 11:01:23

Danke,
Livingston hat geschrieben: ↑ zum Beitrag ↑
12.11.2023 10:52:43
Vielleicht einfach in dem Moment Pech gehabt, ...
aber: Nein, mehrfach getestet gestern und heute, wget-Problem ist reproduzierbar für die benötigte URL, andere URLs liefern korrekt (wie debianforum.de)
Zuletzt geändert von Michahe am 12.11.2023 14:14:55, insgesamt 1-mal geändert.

Benutzeravatar
Livingston
Beiträge: 1455
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: grep liefert Datei mit Größe NULL

Beitrag von Livingston » 12.11.2023 11:25:48

Dann versuch's mal ohne die Option -O/--output-document und lass Dir damit den Output direkt auf der Konsole anzeigen.
Außerdem sollte wget sagen, was es tut, wie z.B. hier:

Code: Alles auswählen

--2023-11-12 11:21:45--  https://debianforum.de/forum/viewforum.php?f=34
Auflösen des Hostnamens debianforum.de (debianforum.de)… 2a01:4f8:261:4fe1::2, 142.132.203.155
Verbindungsaufbau zu debianforum.de (debianforum.de)|2a01:4f8:261:4fe1::2|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: nicht spezifiziert [text/html]
Wird in »dbforum.html« gespeichert.
Sollte bei HTTP-Anforderung gesendet, auf Antwort wird gewartet … was anderes als 200 OK erscheinen, könnte man weiterüberlegen, was da Sache ist.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Michahe
Beiträge: 85
Registriert: 21.03.2016 19:27:53
Lizenz eigener Beiträge: GNU General Public License

Re: wget liefert Datei mit Größe NULL

Beitrag von Michahe » 12.11.2023 12:04:51

Livingston hat geschrieben: ↑ zum Beitrag ↑
12.11.2023 11:25:48
Dann... ohne die Option -O/--output-document ...

Code: Alles auswählen

--2023-11-12 11:57:48--  https://xyz...
CA-Zertifikat »/etc/ssl/certs/ca-certificates.crt« wurde geladen
Auflösen des Hostnamens xyz
Verbindungsaufbau zu xyz|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 0 [text/html]
Wird in »search.asp?cat=s« gespeichert.
search.asp?cat=s                 [<=>                                            ]       0  --.-KB/s               
search.asp?cat=s                 [ <=>                                           ]       0  --.-KB/s    in 0s      
2023-11-12 11:57:48 (0,00 B/s) - »search.asp?cat=s« gespeichert [0/0]
Aber: search.asp ist leer (NULL Byte) ...
Zuletzt geändert von Michahe am 12.11.2023 14:14:29, insgesamt 1-mal geändert.

Benutzeravatar
Livingston
Beiträge: 1455
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: grep liefert Datei mit Größe NULL

Beitrag von Livingston » 12.11.2023 12:43:25

Ups, kleiner Fehler meinerseits. Die Option zur direkten Ausgabe wäre -O -. Das "-" heißt Umleitung zur Standardausgabe, keine Datei anlegen.
Aber das ändert wahrscheinlich auch nix, denn der Server erklärt mit Status 200 OK, dass er keine Einwände hat, die Nachricht Länge: 0 [text/html] bestätigt auch nur, wie der Server die Angelegenheit sieht.
Es scheint so zu sein, dass curl dem Server etwas mitteilt, was wget nicht tut, und somit die Anforderung unterschiedlich interpretiert wird.
Sowas ließe sich mit wireshark/tcpdump bzw. ss unter die Lupe nehmen.
Ich hab leider heute und in den nächsten Tagen wenig Zeit, mich intensiv damit zu beschäftigen. Vielleicht kann wer anders hier im Forum weitermachen.

Du solltest übrigens in Deinem ersten Beitrag den Titel korrigieren. Es geht ja nicht um grep sondern um wget.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

uname
Beiträge: 12076
Registriert: 03.06.2008 09:33:02

Re: grep liefert Datei mit Größe NULL

Beitrag von uname » 12.11.2023 13:13:08

Vielleicht wertet der Webserver den User-Agent aus und verhält sich bei "wget" anders. Wird denn eine leere Datei angelegt? Teste andere Webserver und andere URLs.

Michahe
Beiträge: 85
Registriert: 21.03.2016 19:27:53
Lizenz eigener Beiträge: GNU General Public License

Re: wget liefert Datei mit Größe NULL

Beitrag von Michahe » 12.11.2023 14:15:49

Ja, eine leere Datei wird angelegt, siehe hier ...

Benutzeravatar
Livingston
Beiträge: 1455
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: wget liefert Datei mit Größe NULL

Beitrag von Livingston » 12.11.2023 16:22:01

Vielleicht mal einen Firefox aus Debian 11/bullseye vorgaukeln?

Code: Alles auswählen

wget -U "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0" -O FILENAME URL
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Michahe
Beiträge: 85
Registriert: 21.03.2016 19:27:53
Lizenz eigener Beiträge: GNU General Public License

Re: wget liefert Datei mit Größe NULL

Beitrag von Michahe » 12.11.2023 21:49:55

Vielen Dank,
Livingston hat geschrieben: ↑ zum Beitrag ↑
12.11.2023 16:22:01
Vielleicht mal einen Firefox aus Debian 11/bullseye vorgaukeln?

Code: Alles auswählen

wget -U "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0" -O FILENAME URL
So funktioniert es!

Antworten