假设这个页面" www.test.com/redirecttest"重定向到另一个页面" www.google.com"
以下代码未重定向到google页面,但仅返回test.com页面的404状态。所有浏览器在重定向页面时都能正常工作。
如何从python中为重定向页面获取HTTPConnectionPool的响应?
firstPool = HTTPConnectionPool(firstServerURL, maxsize=10, retries =10)
res = firstPool.request("GET", "http://www.test.com/redirecttest",assert_same_host=False,redirect=True)
如果我删除assert_same_host=False
,则会返回错误
尝试使用网址http://www.google.com打开外国主机。
所以我添加了assert_same_host=False
以避免该错误。
答案 0 :(得分:0)
HTTPConnectionPool是用于连接“一个特定主机”的池。如果将请求重定向到另一台主机,则表示您“离开”此特定主机。因此,如果没有assert_same_hos=False
,您将收到文档中描述的HostChangedError
异常:http://urllib3.readthedocs.io/en/1.0.2/pools.html#api