此URL:
重定向到:
http://www.callmyname.sg/view/Multiple+Choices/Uk9JRC9TRzA0SkstQkJDNkRFNTEuMTNCNS9FRDY5LUE4NzgtRUY=
使用requests
时,我得到:
import requests
url = "http://www.yellowpages.com.sg/newiyp/UrlRedirect?applicationInd=yp&searchType=68&searchCriteria=multiple+choices&accessType=8&advertiserName=Multiple+Choices&url=62CE8F02A1BE04A51C81F85D1CE8B54DFC608A9CDA925C15EED5DA6DD90E3F7DC99CFF77216D1D1083877BA841EB97C3"
response = requests.get(url)
response.url
它返回相同的第一个URL,而不是重定向的URL
此站点似乎需要会话cookie才能使重定向生效
r.url
实际上在重定向(unless you have changed the configuration)之后显示URL重定向的问题是,如果cookie不存在,它就永远不会发生。您可以通过在匿名/私有模式下使用浏览器访问URL来测试这一点。您将看到来自http://www.yellowpages.com.sg/的错误消息,状态代码为200。在重新加载时,您将被重定向
奇怪的是,即使使用
requests
会话,我也无法获得重定向。使用真正的浏览器的用户代理字符串似乎也没有帮助。您可能需要详细比较这两个请求,以找出关键的区别我尝试的代码如下所示:
这是一个样本。我使用了“bit.ly”,因为我使用您的URL获得了403
根据Requests doc,
r.history
是您所需要的相关问题 更多 >
编程相关推荐