Wie geht HTTP-Legitimation mit wget? Error 404

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Wie geht HTTP-Legitimation mit wget? Error 404

Beitrag von garibaldi » 14.06.2015 03:57:48

Hallo,

ich habe mal wieder ein Problem mit meiner Schachseite: Nun möchte qua Script das Archiv meiner eigenen Partien herunterladen, da die angebotene Funktion der Seite hierfür mangelhaft ist. Die eigenen Partien liegen unter

http://www.chess.com/home/my_archive?show=echess

Um diese Seite abrufen zu können, muss man sich selbstverständlich einloggen, und hier liegt mein Problem. Laut Recherche im Internet sollte dies eigentlich folgendermaßen funktionieren, aber es klappt nicht:

Code: Alles auswählen

guybrush@marvin:~/tmp/wget$ wget -S --user=Spielkalb --ask-password "http://www.chess.com/home/my_archive/show=echess&page=1"
Passwort für Benutzer »»Spielkalb««: 
--2015-06-14 03:39:56--  http://www.chess.com/home/my_archive/show=echess&page=1
Auflösen des Hostnamen »www.chess.com (www.chess.com)«... 151.249.89.150, 151.249.90.219
Verbindungsaufbau zu www.chess.com (www.chess.com)|151.249.89.150|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 
  HTTP/1.1 404 Not Found
  Date: Sun, 14 Jun 2015 01:39:55 GMT
  Server: PWS/8.1.20.17
  Transfer-Encoding: chunked
  X-Px: ms h0-s1142.p11-fra ( h0-s1089.p11-fra), ms h0-s1089.p11-fra ( h0-s1024.p7-lax), ms h0-s1024.p7-lax ( origin)
  P3P: CP="ALL DSP COR LAW CURa ADMa DEVa TAIa OUR BUS IND ONL UNI COM NAV DEM CNT"
  Cache-Control: private, must-revalidate
  Pragma: no-cache
  Expires: -1
  Content-Type: text/html; charset=UTF-8
  Vary: Accept-Encoding
  Connection: keep-alive
  Set-Cookie: PHPSESSID=5n3vjrdp9fo77ushdnf2d9gsa5; path=/; domain=.chess.com; HttpOnly
2015-06-14 03:39:56 FEHLER 404: Not Found.
Was mache ich falsch?
Was einer im Reiche der Wahrheit erwirbt, hat er allen erworben... -- Schiller

Benutzeravatar
TRex
Moderator
Beiträge: 8375
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Wie geht HTTP-Legitimation mit wget? Error 404

Beitrag von TRex » 14.06.2015 09:50:52

Du vermischst einen Session-Login mit HTTP Basic Auth. Letzterer hat mit HTTP erstmal nix zu tun, das ist ein Login auf Anwendungsebene. Da musst du schon etwas tiefer in die Trickkiste greifen.

http://stackoverflow.com/questions/1324 ... -with-wget

Dort wirds beispielsweise erklärt: Schneide in einem Tool deiner Wahl den Login-Vorgang mit (firebug bietet im Kontextmenü des Requests "copy to CURL" an), speichere den Cookie zwischen und verwende den dann für alle weiteren Aktionen. Das dann in curl/wget gießen.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: Wie geht HTTP-Legitimation mit wget? Error 404

Beitrag von dufty2 » 14.06.2015 17:20:43

Zum Error 404:
Den erhielst Du, weil statt

Code: Alles auswählen

...my_archive?show=echess
eben

Code: Alles auswählen

...my_archive/show=echess
benutzt wurde

Antworten