如何将其他参数添加到urllib2开启工具中

时间:2012-10-16 05:00:19

标签: python browser http-headers urllib2 bots

我找到了这个网站: https://panopticlick.eff.org/ 这基本上为您提供了浏览器的一些信息。它提出了一个问题。所以我试图创建一个urlllib2开启者,我所做的只是更改了它的用户代理: 所以我的揭幕战看起来像那样:

class URLOpener():      
    def opener(self,user_agent):
        cj=cookielib.CookieJar()
        #Process Hadlers
        opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
        opener.addheaders=[
                        ('User-Agent', user_agent),
                        ('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),
                        ('Accept-Language', 'en-gb,en;q=0.5'),
                        ('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'),
                        ('Keep-Alive', '115'),
                        ('Connection', 'keep-alive'),
                        ('Cache-Control', 'max-age=0'),
                    ]
        return opener

我的问题是如何将这样的内容添加到我的URLOpener:

  1. 浏览器插件详情
  2. 时区
  3. 屏幕尺寸和颜色深度
  4. 系统字体
  5. 有限的supercookie

1 个答案:

答案 0 :(得分:2)

你做不到。

您的浏览器未将大部分内容传递给Web服务器。 panopticlick可以显示这些值的原因是它使用Javascript来访问它们。

你可以亲眼看到这个。在Chrome或Firefox中打开开发者控制台中的网络标签,查看向网站发出请求时发送的实际标题。