Привет всем.
Сразу извиняюсь, что тему создал не там.
Суть проблемы такова: не могу заставить программу работать через 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