Получить перенаправить местоположение, не делая GET к нему - PullRequest
1 голос
/ 17 марта 2020

Итак, у меня есть программа, которая получает серию URL-адресов с веб-страницы, которые перенаправляют на другие URL-адреса. Веб-сайт имеет свой собственный перенаправитель, который требует POST-запрос, который затем отвечает 302, заголовок Location и другие вещи. Моя проблема в том, что большинство HTTP-клиентов в Python, похоже, просто следуют заголовку местоположения, даже когда я пытаюсь его отключить. Например, запросы, даже если для параметра allow_redirects установлено значение False, по-прежнему генерируется журнал, в котором говорится, что он отправляет запрос GET на страницу, чего я не хочу. Я попытался найти решение в urllib, используя некоторые обработчики, но это все еще не работает.

    def http_error_302(self, req, fp, code, msg, headers):
        result = urllib.request.HTTPError(req.get_full_url(), code, msg, headers, fp)
        result.status = code
        return result
    http_error_301 = http_error_303 = http_error_307 = http_error_302

Я попробовал это и urllib.request.install_opener (urllib.request.build_opener (RedirectHandler ( ))) но безрезультатно.

Любой совет?

...