crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Python + webkit + socks proxy
laa88rf
  опции профиля:
сообщение 22.4.2013, 8:56
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 30.7.2010
Из: Orsk
Пользователь №: 1918

Спасибо сказали: 0 раз(а)




Репутация:   0  


Привет всем.
Сразу извиняюсь, что тему создал не там.
Суть проблемы такова: не могу заставить программу работать через tor-proxy.
В консоли все работает:

#!/usr/bin/python
import socks
import socket
from urllib2 import *

url1 = "mydomain.ru"

socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
socket.socket = socks.socksocket
req1 = Request(url1)
print "Current IP: " + urlopen(req1).read()


А вот webkit посылает (((
#!/usr/bin/python
import socket
import gtk
import webkit
import ctypes
import socks

socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
socket.socket = socks.socksocket

window = gtk.Window()
view = webkit.WebView()
view.open('http://*.*.*.*/ip.php')
window.add(view)
window.show_all()
window.connect('delete-event', lambda window, event: gtk.main_quit())

gtk.main()


Хотя вот такая штука, так сказать, работает:
#!/usr/bin/python
import socket
import gtk
import webkit
import ctypes
import socks

libgobject = ctypes.CDLL('/usr/lib/i386-linux-gnu/libgobject-2.0.so.0')
libsoup = ctypes.CDLL('/usr/lib/i386-linux-gnu/libsoup-2.4.so.1')
libwebkit = ctypes.CDLL('/usr/lib/libwebkitgtk-1.0.so')

proxy_uri = libsoup.soup_uri_new('http://127.0.0.1:9050')
session = libwebkit.webkit_get_default_session()
libgobject.g_object_set(session, "proxy-uri", proxy_uri, None)

window = gtk.Window()
view = webkit.WebView()
view.open('http://89.237.37.254/ip.php')
window.add(view)
window.show_all()
window.connect('delete-event', lambda window, event: gtk.main_quit())

gtk.main()


только в окне появляется сообщение, что ТОР - это сокетный прокси, а не http.

Как бороться с этим? Подозреваю, что я где-то, что-то не так передаю в функции.
Замечу, что по 3му варианту:
proxy_uri = libsoup.soup_uri_new('sock4://127.0.0.1:9050')

погоды не делает. Страница открывается, но не от прокси, а от реального Ip
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 0:37