Ich versuche, eine HEAD-Anforderung von einer Seite zu tun mit Python 2.Herstellung HTTP HEAD-Anfrage mit urllib2 von Python 2
Ich versuche
import misc_urllib2
.....
opender = urllib2.build_opener([misc_urllib2.MyHTTPRedirectHandler(), misc_urllib2.HeadRequest()])
mit misc_urllib2.py
class HeadRequest(urllib2.Request):
def get_method(self):
return "HEAD"
class MyHTTPRedirectHandler(urllib2.HTTPRedirectHandler):
def __init__ (self):
self.redirects = []
def http_error_301(self, req, fp, code, msg, headers):
result = urllib2.HTTPRedirectHandler.http_error_301(
self, req, fp, code, msg, headers)
result.redirect_code = code
return result
http_error_302 = http_error_303 = http_error_307 = http_error_301
enthält
Aber ich bekomme
TypeError: __init__() takes at least 2 arguments (1 given)
Wenn ich nur
opender = urllib2.build_opener(misc_urllib2.MyHTTPRedirectHandler())
dann funktioniert es gut
Does genannt werden sollte, dass Sie anderen Antrag objs einzustellen erlauben? Siehe meine OP, die MyHTTPRedirectHandler – Wizzard
Wir haben einen Fehler mit diesem Ansatz. Später wollte jemand eine HTTPS-URL überprüfen, für die Sie eine andere Methode verwenden müssen: 'httplib.HTTPSConnection()' – ericzundel