Как установить User-Agent в Python MozEmbed? - PullRequest
0 голосов
/ 14 ноября 2011

Я создал простой выделенный браузер (например, Prism), который я использую для разных сайтов. К сожалению, Google+ блокирует все браузеры, кроме четырех. Так что это тоже блокирует мою.

Как настроить User-Agent в MozEmbed, чтобы я мог сказать Goolge, что я использую Firefox?

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

Ответы [ 2 ]

1 голос
/ 16 ноября 2011

Извините, я не проверял это, потому что мои вещи в Mozilla по своей сути неработоспособны.

Один из способов установить это - создать файл пользовательских настроек prefs.js и установить этот каталогкак каталог профиля:

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

Теперь gtkmozembed должен прочитать настройки из ~/.config/mozilla/foo/prefs.js.Пример настраиваемый пользовательский агент запись:

user_pref("general.useragent.override", 'foo');

Другой вариант - перегрузить функции gtkmozembed.*_stream для вставки настраиваемого заголовка User-Agent с использованием urllib2.

* 1018.* PS.Попробуйте WebkitGTK + и gobject-introspection.Mozilla и GTK + немного сломаны, так как Gtk + -3.
0 голосов
/ 16 ноября 2011

Я нашел возможное решение здесь:

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

В основном речь идет о получении контента веб-сайта с помощью urllib, где вы можете установить User Agent, а затем прочитать этот контент с помощью mozembed

    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()
...