Python请求+代理+ 302重定向,为什么不正确的请求?

时间:2015-03-17 17:37:21

标签: python proxy python-requests httprequest http-status-code-302

我正在使用Python请求,我通过代理发送请求。我发送请求的站点有302重定向,请求无法正常工作。似乎请求在没有代理的情况下发送,并且站点找到了我的真实IP。

Python代码:

try:
    session = Session()
    request = Request('GET', url, headers=headers)
    prepped = session.prepare_request(request)
    resp = session.send(prepped, proxies=proxy, timeout=8)
    session.cookies.clear()
    print(resp.status_code)
    print(resp.history)
except requests.exceptions.Timeout:
    print("Timeout error ... :( " + "\n")
except requests.exceptions.ConnectionError:
    print("Connection error ... :( " + "\n")
except requests.exceptions.HTTPError:
    print("HTTPError ... :( " + "\n")

回应历史

<Response [302]>

基本上我需要从另一个IP发送请求,并且每次都以新cookie作为新用户等等。 但是使用这段代码我无法做到。 有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

您可以先使用 requests.head 来重定向网址。

r = requests.head(url, allow_redirects=True) print(r.url)

答案 1 :(得分:0)

proxies参数应该是“代理网址的字典映射协议”(source)。

Example

proxies = {
  'http': 'http://10.10.1.10:3128',
  'https': 'http://10.10.1.10:1080',
}