如何在pythonmozebed中设置UserAgent?

2024-09-20 01:28:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经建立了一个简单的专用浏览器(如Prism),我使用不同的网站。不幸的是Google+封锁了所有浏览器,只有四个。所以它也挡住了我的。在

如何在MozEmbed中设置用户代理,以便告诉Goolge,我正在使用Firefox?在

    mozembed = gtkmozembed.MozEmbed()
    mozembed.load_url("https://plus.google.com")
    mozembed.show()

Tags: 用户httpsurl代理网站google浏览器load
2条回答

我在这里找到了一个可能的解决方案:

http://www.mail-archive.com/pygtk@daa.com.au/msg18189.html

基本上,它是关于使用urllib获取网站内容的,您可以在其中设置一个用户代理,然后使用mozebed读取这些内容

    fd = urllib2.urlopen(urllib2.Request(url, headers={'User-Agent': USER_AGENT}))
    html = fd.read()
    fd.close()
    mozembed.open_stream(url, "text/html")
    mozembed.append_data(html, len(html))
    mozembed.close_stream()

抱歉,还没有测试过,因为我的Mozilla东西本来就是坏掉的atm。在

设置它的一种方法是创建自定义设置文件prefs.js,并将该目录设置为配置文件目录:

profdir = '~/.config/mozilla'
profile = 'foo'
mozembed.set_profile_path(profile_directory, profile)

现在,gtkmozbedded应该从~/.config/mozilla/foo/prefs.js读取首选项。示例custom user-agent条目:

^{pr2}$

另一个选择是重载gtkmozembed.*_stream函数,使用urllib2注入自定义的User-Agent头。在

请尝试WebkitGTK+和gobject自省。Mozilla和GTK+在GTK+-3之后有点不好。在

相关问题 更多 >