A
A
agent_22032021-02-23 19:28:57
PyQt
agent_2203, 2021-02-23 19:28:57

How to use proxy + change UserAgent in PyQt5?

I have an implemented connection to a proxy and, accordingly, the request itself:

def exec_func(ip, port, user, password):
    QNetworkProxy.setApplicationProxy(
        QNetworkProxy(
            QNetworkProxy.HttpProxy, 
            hostName=ip,
            port=port,
            user=user,
            password=password

        )
    )
    app = QApplication(sys.argv) 
    web = QWebView()
    web.show()
    web.load(QUrl("https://t.me"))
    app.exec_()


However, when I include a user-agent change:

class MyBrowser(QWebPage):
    def userAgentForUrl(self, url):
        return "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 Safari/537.15"

class Browser(QWebView):
    def __init__(self):
        QWebView.__init__(self)
        self.setPage(MyBrowser())
def exec_func(ip, port, user, password):
    QNetworkProxy.setApplicationProxy(
        QNetworkProxy(
            QNetworkProxy.HttpProxy, 
            hostName=ip,
            port=port,
            user=user,
            password=password

        )
    )
    app = QApplication(sys.argv) 
    web = Browser()
    web.show()
    web.load(QUrl("https://t.me/"))
    app.exec_()


Then everything stops working, all kinds of page loading errors occur:
Protocol "tg" is unknown (QtNetwork Error 301)
Host unreachable (QtNetwork Error 99)
Or does not load the page at all and shows a black screen. Does anyone know what this could be related to?

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question