PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wget zieht nur die halbe Datei



Treavor23
15.09.09, 22:13
Moin,

ich habe ein Problem mit wget welches ich mir nicht erklären kann. Ziel ist es einfach nur eine Webseite (also eine Index-Datei) herunterzuladen.

wget $SEITE

Soweit so gut. Problem ist nun, dass wget 411 Byte der Datei zieht und dann abbricht - etwa 16KB sind in der Datei aber drin (ich bekomme den HTML-Header aber nicht den Body).


Der ganze Spass nochmal mit --debug

$ wget --debug http://www.SEITE.de
DEBUG output created by Wget 1.11.4 (Red Hat modified) on linux-gnu.

--2009-09-16 20:59:21-- http://SEITE.de/
Auflösen des Hostnamen »SEITE.de«.... 12.34.56.78
Caching SEITE.de => 12.34.56.78
Verbindungsaufbau zu SEITE.de|12.34.56.78|:80... verbunden.
Created socket 3.
Releasing 0x08590328 (new refcount 1).



---request begin---
GET / HTTP/1.0
User-Agent: Wget/1.11.4 (Red Hat modified)
Accept: */*
Host: SEITE.de
Connection: Keep-Alive



---request end---
HTTP Anforderung gesendet, warte auf Antwort...
---response begin---
HTTP/1.1 200 OK
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: PHP/5.2.0
Set-Cookie: 11e2e086567a3fb671619e0d88a79483=00bd81ceddc29cb0d aa5aae606df25a1; path=/
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
X-Powered-By: ASP.NET
X-Powered-By: PleskWin
Date: Wed, 16 Sep 2009 18:59:21 GMT
Connection: close



---response end---
200 OK

Stored cookie SEITE.de -1 (ANY) / <session> <insecure> [expiry none] 11e2e086567a3fb671619e0d88a79483 00bd81ceddc29cb0daa5aae606df25a1
Länge: nicht spezifiziert [text/html]
In »index.html.2« speichern.

[ <=> ] 411 --.-K/s in 0s

Closed fd 3
2009-09-16 20:59:22 (16,3 MB/s) - »index.html« gespeichert [411]


Meine Vermutung ist, dass wget nicht damit klar kommt, dass der (Microsoft-)Server kein Content-Length mitliefert. Bei Tests mit anderen Servern wurde die komplette index.html gezogen.
cURL funktioniert zwar, hilft mir aber nicht, weil ich später auch die Bilder und CSS-Dateien zu der Seite ziehen muss.

getestet habe ich das ganze auf 2 Rechnern (Fedora 11 mit wget 1.11.4 und Debian mit wget 1.10.2).

Ich hoffe ich bin nicht wieder der einzige bei dem so merkwürdige Phänomene auftreten und bin über jeden Tipp dankbar.


Viele Grüße,
Daniel

John W
18.09.09, 13:25
Hast du es mal mit --ignore-length versucht?
Ebenfalls praktisch anwendbar wäre evtl. "-S --force-html", das gibt den Header aus und interpretiert die Eingabe-URL in jedem Fall als html-Datei.

Treavor23
18.09.09, 14:17
--ignore-length hatte ich schon versucht - ohne Erfolg
und das andere funktioniert leider genauso wenig :-(

m.o.o.
18.09.09, 19:19
Nur mal so ein Schuss ins Blaue: was passiert denn, wenn du wget nach dem halben Download nochmal aufrufst mit allen Argumenten aufrufst und zusätzlich "-c" übergibst? Du könntest auch mal mit der Option --user-agent spielen.
Hast du Zugriff auf den Webserver? Wird die Datei überhaupt komplett "angeboten" wenn wget versucht sie runterzuladen?

marce
18.09.09, 19:22
ich kenne solche Probleme eigentlich nicht - auch wenn keine Länge mitgeliefert wird. Könnte man mal die URL bekommen, evtl. kann man dann mal mit alternativen Mitteln probieren?

Treavor23
18.09.09, 20:22
Danke, --user-agent ist es gewesen. Ich hab die Option zwar in der Hilfe gefunden, aber dachte, wenn der user-agent nicht stimmt dann bekomm ich bestimmt ne Fehlermeldung oder zumindestens nen HTTP-Fehlercode. Zumal ich andere Dateien vom Server ja runterladen kann - nur eben die index.php nicht.

Da soll einer drauf kommen - und sowas kostet dann gleich wieder zig Stunden googlen und ausprobieren.
danke nochmal :-)