扭曲:如何在HTTP 301的情况下找到最终目的地?

时间:2013-06-22 15:29:40

标签: python web twisted http-status-code-301 url-redirection

如果url重定向HTTP 301twisted.web.client.getPage会成功模拟浏览器的行为并返回deferred,其中html / { {1}}最终目的地。如何获取此目标页面的response_body

1 个答案:

答案 0 :(得分:3)

您可以使用twisted.web.client.Agent执行HEAD请求,以便检索您要查找的网址Location

请参阅https://github.com/darkrho/Random-Code/blob/master/python/twisted/longurl.py

LocationResolver类执行HEAD请求,并使用Location标头的值调用回调。这只检索第一个重定向,如果你想找到最后的网址,你可以按照handleResult所做的那样,再次调用解析器,直到你没有得到新的位置值。