Important: Please read the Qt Code of Conduct -

Setting User And Password For Qt WebView & WebEngine Diectly

  • Hi. I wanted to set user and password for Qt WebView & WebEngine directly. I have my own VPS and I have setup HttpProxy on it. My application has a web browser and I want that web browser to use the http proxy. I've tried setting application proxy but the web view raises a dialog asking for user and password. I want to set user and password in the code so that users won't have to deal with the dialog.

  • Any Ideas?

  • @shahriar25 are you talking about user/password for a proxy, so your QWebView application can traverse such proxy, which requires authentication, and reach the desired destination?
    If so, I imagine you may need to rely on using a QNetworkProxyFactory that once configured properly (for instance, to use the system proxy's settings) is then set to the QNetworkAccessManager that makes the connection

  • @Pablo-J-Rogina
    Thank you for replying and helping.
    I tried using QNetworkProxyFactory:

    class ProxyFactory : public QNetworkProxyFactory
    QList<QNetworkProxy> queryProxy(const QNetworkProxyQuery &query)

    	QNetworkProxy proxy;
                // set proxy variables here
    	return QList<QNetworkProxy>() << proxy;


    and then:
    QNetworkProxyFactory::setApplicationProxyFactory(new ProxyFactory());

    but this doesn't work. I mean it proxies QNetworkAccessManager and stuff but it is not what I want.
    I want the webview to use this proxy and not raise a dialog and ask the user for credentials.

  • @shahriar25 maybe the trick here is that QWebPage within your QWebView is using its own QNetworkAccessManager, so perhaps by doing:


    will cause the webview to use your QNAM with your proxy settings.

  • @Pablo-J-Rogina
    Well see that is the problem. I'm working with qml and using webview in it

  • @shahriar25 are you saying you're using this QML WebView component? If so, on one side you should have stated your issue better :-) and you may need to work with the underlying QNetworkAccessManager of QML, see this post as a guideline.

  • @Pablo-J-Rogina
    Hi. I'm sorry for late reply
    I'm sorry if I left out using qml. It wasn't intentional
    I tried this:

    class QmlNAMFactory : public QQmlNetworkAccessManagerFactory
    virtual QNetworkAccessManager *create(QObject *parent)
    QNetworkAccessManager *nam = new QNetworkAccessManager(parent);
    QNetworkProxy proxy;

                // proxy info here
    	return nam;


    QQmlApplicationEngine engine;
    engine.setNetworkAccessManagerFactory(new QmlNAMFactory);

    but this has no effect on webview. It doesn't change a thing
    I'm sorry the function was returning nullptr I edited it. I did that just to text the effect

  • Isn't there anything that I can do?

  • Hi.

    Did you solve the problem?

    I am hitting the same problem, i need to set a header to every QML WebView request.

    Setting the network access manager on QQmlApplicationEngine does not call MyNetworkAccessManagerFactory::create.
    Seems WebView is not using QNetworkAccessManager at all.

    Is this possible at all?

    thanks for hints.

Log in to reply