[Python-de] urllib vs. httplib

Georg Mischler schorsch at schorsch.com
Wed Aug 28 06:22:21 EDT 2002


Dinu Gherman wrote:

> Dinu Gherman:
>
> > Nach Benutzung von
> >
> >   tcpwatch.py -L 80:www.photosig.com:80 -s
> >
> > und Aufruf in einem Browser von
> >
> >   http://localhost/...
> >
> > wird naemlich in der HTTp-Anfrage "Host" zu "localhost",
> > was wieder nicht sein darf... und so sehe ich nicht,
> > wie die Cookies wandern. Jemand eine Idee?
>
> Ich habe mal Shane Hathaway direkt gefragt und kopiere
> hier seine Antwort. Auf diese Weise funktioniert es ganz
> wunderbar. In meinem vorher angegebenen Programm fehlte
> uebrigens nur diese Zeile, um eine identische Ausgabe von
> urllib und httplib zu bekommen (python.org schert sich
> offenbar nicht drum):
>
>     req.putheader('Host', server)


Das liegt daran, dass deine Zieldomain virtuell gehostet ist.
Bei virtuellem Hosting sind viele Domains unter der gleichen
IP-Adresse erreichbar, und der Server unterscheidet die
Anfragen ueber den mit HTTP 1.1 eingefuehrten Host-Header.
Ein sehr alter Browser (z.B. Netscape 2), wuerde also das
gleiche unerwartete Resultat sehen.

Python.org hat eine IP-Adresse exclusiv fuer sich alleine,
und kann deshalb auch mit HTTP 1.0 Clients (ohne den
Host-Header) ohne Mehrdeutigkeiten erreicht werden.


-schorsch

-- 
Georg Mischler  --  simulations developer  --  schorsch at schorsch.com
+schorsch.com+  --  lighting design tools  --  http://www.schorsch.com/





More information about the Python-de mailing list