1
我正在尝试访问需要cookie的网站。使用urllib2和cookielib我能够从网站获得响应。该HTML打印通知我,我没有得到与线接入:HTTPCookieProcessor未提供Cookie
<h2>Cookies Disabled</h2>
<p> class="share-prompt"><strong>Cookies must be enabled.</strong></p>
我能不明白的地方,我错了。代码如下:
import urllib2, cookielib
cookieJar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.ProxyHandler({'http':"http://216.208.156.69:3128"}),urllib2.HTTPCookieProcessor(cookieJar))
request = urllib2.Request("[website]")
response = opener.open(request)
print response.read()
任何人都可以看到我出错了吗?
干杯,
我不明白为什么在你的第4行我需要定义cookie - 这不是网站应该传给我的东西吗? – tgunn 2013-04-08 14:08:51
我对此进行了更深入的研究 - 没有任何东西从网站存储到cookieJar中。通过比较,我跑到它指向google.com并收到4个饼干。 hummm .... – tgunn 2013-04-08 14:28:20
@tgunn *(...)这不是网站应该传给我的东西吗?*是的,通常服务器发送cookie并且浏览器将它们发送回去。在这里,我使用了非常好的httpbin.org服务,可以指示我发送cookie。这样我就可以模拟* normal * web服务器的行为。在你真实的代码中,你不需要像这样自行设置cookie。 *通过比较,我将它指向google.com并收到4个cookie。*有时,Web服务器根据您发送的用户代理http标题而采取不同的行为。尝试更改此标题以匹配您的浏览器发送的内容。 – 2013-04-08 15:39:09