Python请求获取最终链接

时间:2018-07-27 18:20:17

标签: python proxy python-requests

我知道我可能会采用错误的方式。但是我试图找出代理服务器配置中的哪些资源URL损坏或重定向到与我们在文件中拥有的URL不同的URL。

将资源传递到代理前缀URL的示例是:

https://login.proxy.library.ohio.edu/login?auth=ou&url=https://www.whatismyip.com/

此URL解析后,应重定向到代理链接

https://www-whatismyip-com.proxy.library.ohio.edu/

我想要的是在解析和重定向后获取最终URL的最终状态代码

我的代码明智,只是一个片段...

proxy_url = "https://login.proxy.library.ohio.edu/login?auth=ou&url=https://www.whatismyip.com/"
conn = requests.head(proxy_url, allow_redirects=True)
print conn.url[:-3]

[:-3]是要删除字符串末尾的一些奇怪的不需要的字符。

但是,它只返回原始链接,我正在传递它。 解析并重定向后,如何获得正确的代理URL。

1 个答案:

答案 0 :(得分:0)

您可以使用Response对象的history属性来跟踪重定向:

resp = requests.head("http://some.url", allow_redirects=True)
for elem in resp.history:
    print elem.url  # "some_other.url"

Response.history包含所有响应以及来自中间步骤的URL。了解更多here