[Python-de] urllib vs. httplib

Dinu Gherman gherman at darwin.in-berlin.de
Tue Aug 27 11:16:57 EDT 2002


Hallo,

ich versuche, eine Webseite herunterzuladen, was mit
urllib klappt, solange ich keine Cookies setzen muss.
Daher wollte ich auf httplib umsteigen, aber schon ohne 
Cookies scheint es Unterschiede zwischen urllib und 
httplib zu geben, wie folgendes kleine Skript unten 
zeigen soll.

Fuer photosig.com gibt es diesen seltsamen Unterschied
(es kommt eine andere "Seite" zurueck), nicht aber fuer 
python.org. Kann sich das jemand erklaeren? Eine ver-
steckte Abfrage irgendwelcher Kopfzeilen bei photosig 
vielleicht? In einem normalen Browser klappen die URLs 
jedenfalls...

Habe gerade urllib2 entdeckt, aber urllib macht es ja 
in dem Fall schon richtig...

Gruss,

Dinu



import urllib, httplib


def testUrllib(server, path):
    "Fetch data using urllib module."
    u = urllib.urlopen('http://%s%s' % (server, path))
    return u.read()


def testHttplib(server, path):
    "Fetch data using httplib module."
    req = httplib.HTTP(server)
    req.putrequest('GET', path)
    req.putheader('Accept', 'text/html')
    req.putheader('User-Agent', 'Mozilla')
    req.endheaders()
    ec, em, h = req.getreply()
    fd = req.getfile()
    return fd.read(), (ec, em)


server = 'www.photosig.com'
path = '/photos.php'
# server = 'www.python.org'
# path = '/index.html'

print 'testing "%s%s"' % (server, path)
dataUrllib = testUrllib(server, path)
dataHttplib, result = testHttplib(server, path)
print "data length (urllib): ", len(dataUrllib)
print "data length (httplib):", len(dataHttplib), result





More information about the Python-de mailing list