Форум сайта python.su
0
Сейчас делаю вот так, но страница не загружается вообще
import sys from PyQt4 import QtCore, QtGui, QtWebKit from PyQt4 import QtNetwork def progress(i): print('\r{}%'.format(i), end='') if i == 100: print() def load_complete(): print(web.url()) app = QtGui.QApplication(sys.argv) proxy = QtNetwork.QNetworkProxy() proxy.setType(QtNetwork.QNetworkProxy.Socks5Proxy) proxy.setHostName('134.228.156.127') proxy.setPort(19380) QtNetwork.QNetworkProxy.setApplicationProxy(proxy) web = QtWebKit.QWebView() web.load(QtCore.QUrl("http://2ip.ru")) web.loadFinished.connect(load_complete) web.loadProgress.connect(progress) web.show() sys.exit(app.exec_())
Отредактировано dima2881 (Янв. 15, 2016 17:29:23)
Офлайн
186
Прокси подключается не ко всему приложению, а только к вебстранице. Т.е. должно быть как-то так:
class NetworkAccessManager(QtNetwork.QNetworkAccessManager): def __init__(self, *arg, **args): QtNetwork.QNetworkAccessManager.__init__(self, *arg, **args) proxy = QtNetwork.QNetworkProxy(QtNetwork.QNetworkProxy.HttpProxy) .... self.setProxy(proxy) ..... class WebPage(QtWebKit.QWebPage): def __init__(self, *arg, **args): QtWebKit.QWebPage.__init__(self, *arg, **args) netManager = NetworkAccessManager() self.setNetworkAccessManager(netManager) ..... ...... class WebView(QtWebKit.QWebView): def __init__(self, *arg, **args): QtWebKit.QWebView.__init__(self, *arg, **args) Page = WebPage() self.setPage(Page) ..... web.show() sys.exit(app.exec_())
Офлайн
0
Rodegast
Похоже я что-то упустил, потому что сейчас страница грузится, но прокся не применяться.
import sys from PyQt4 import QtCore, QtGui, QtWebKit from PyQt4 import QtNetwork class NetworkAccessManager(QtNetwork.QNetworkAccessManager): def __init__(self, *arg, **args): QtNetwork.QNetworkAccessManager.__init__(self, *arg, **args) proxy = QtNetwork.QNetworkProxy(QtNetwork.QNetworkProxy.HttpProxy) proxy.setType(QtNetwork.QNetworkProxy.Socks5Proxy) proxy.setHostName('134.228.156.127') proxy.setPort(19380) self.setProxy(proxy) class WebPage(QtWebKit.QWebPage): def __init__(self, *arg, **args): QtWebKit.QWebPage.__init__(self, *arg, **args) netManager = NetworkAccessManager() self.setNetworkAccessManager(netManager) class WebView(QtWebKit.QWebView): def __init__(self, *arg, **args): QtWebKit.QWebView.__init__(self, *arg, **args) Page = WebPage() self.setPage(Page) app = QtGui.QApplication(sys.argv) web = QtWebKit.QWebView() web.load(QtCore.QUrl('http://2ip.ru')) web.show() sys.exit(app.exec_())
Отредактировано dima2881 (Янв. 15, 2016 17:53:23)
Офлайн
186
Да это я немного ошибся. Надо:
web = QtWebKit.QWebView() web.setPage(WebPage())
Офлайн
0
Сейчас страница опять вообще не грузится
import sys from PyQt4 import QtCore, QtGui, QtWebKit from PyQt4 import QtNetwork class NetworkAccessManager(QtNetwork.QNetworkAccessManager): def __init__(self, *arg, **args): QtNetwork.QNetworkAccessManager.__init__(self, *arg, **args) proxy = QtNetwork.QNetworkProxy(QtNetwork.QNetworkProxy.HttpProxy) proxy.setType(QtNetwork.QNetworkProxy.Socks5Proxy) proxy.setHostName('94.23.166.246') proxy.setPort(60088) self.setProxy(proxy) class WebPage(QtWebKit.QWebPage): def __init__(self, *arg, **args): QtWebKit.QWebPage.__init__(self, *arg, **args) netManager = NetworkAccessManager() self.setNetworkAccessManager(netManager) app = QtGui.QApplication(sys.argv) web = QtWebKit.QWebView() web.setPage(WebPage()) web.load(QtCore.QUrl('http://ya.ru')) web.show() sys.exit(app.exec_())
Офлайн
186
Удали
proxy.setType(QtNetwork.QNetworkProxy.Socks5Proxy)
Офлайн
0
Rodegast
нет, это обычная прокся найденная на просторах сети, в обычном браузере проверял, она работает
Офлайн
0
RodegastУдалил и все равно не работает.
Удали
Офлайн
186
> это обычная прокся найденная на просторах сети, в обычном браузере проверял, она работает
Не работает твоя прокся. Сейчас c конкэррора я через неё подключится не смог.
Офлайн
0
Rodegast
Эмм, ну у меня она работает, а ты какой тип прокси выбирал? Она socks5
Офлайн