Как получить статус перенаправления URL с помощью urllib2.urlopen ()? - PullRequest
0 голосов
/ 05 октября 2018

Я использую urllib2.urlOpen (запрос) для отправки Http-пакета.Response.getcode () показывает 200 даже во время успешного перенаправления.

Я хочу знать, есть ли перенаправление и что такое перенаправление статуса (301 или 302).

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Напишите свой собственный urllib2.HTTPRedirectHandler , который будет вызываться в случае перенаправления:

class CustomHTTPRedirectHandler(urllib2.HTTPRedirectHandler):
    def http_error_302(self, req, fp, code, msg, headers):
        # handle redirect here
        pass

    http_error_301 = http_error_303 = http_error_307 = http_error_302

Затем зарегистрируйте его, используя install_opener:

opener = urllib2.build_opener(CustomHTTPRedirectHandler)
urllib2.install_opener(opener)
response = urllib2.urlopen("http://yoururl/")
0 голосов
/ 05 октября 2018

Попробуйте это:

 r = requests.get(url)
 print r.status_code
...