0

コードの問題点:

システム プロキシを使用すると、「接続が拒否されました」というエラーが表示され、手動プロキシ (プロキシ アドレスが同じ) を使用すると、「ホストが見つかりません」というエラーが表示されます。</p>

プロキシ サーバーは、proxy-address:172.16.28.11 および port:3128 の squid です。

さらに、「tor」や動的ポート転送を使用して作成されたような localhost プロキシでも機能しません。

if(settDialog.ui->no_proxy->isChecked())
{
    QNetworkProxyFactory::setUseSystemConfiguration (false);
    QNetworkProxy::setApplicationProxy(QNetworkProxy::NoProxy);
}
else if(settDialog.ui->use_s_proxy->isChecked())
{
    QNetworkProxyFactory::setUseSystemConfiguration (true);
}
else if(settDialog.ui->man_proxy->isChecked())
{
    QNetworkProxyFactory::setUseSystemConfiguration (false);
    proxy.setHostName(settDialog.ui->proxy_addr->text());
    proxy.setPort(settDialog.ui->port_num->value());
    if(settDialog.ui->proxyType->currentIndex()==0)
        proxy.setType(QNetworkProxy::HttpProxy);
    else if(settDialog.ui->proxyType->currentIndex()==1)
        proxy.setType(QNetworkProxy::Socks5Proxy);
    else if(settDialog.ui->proxyType->currentIndex()==2)
        proxy.setType(QNetworkProxy::FtpCachingProxy);
    proxy.setHostName(settDialog.ui->username->text());
    proxy.setPassword(settDialog.ui->pwd->text());
    QNetworkProxy::setApplicationProxy(proxy);
}
4

1 に答える 1

2

単純化しすぎているかもしれませんが、これは単純な間違った API 呼び出しのようです。

proxy.setHostNameプロキシ サーバーのホスト名を定義する場所です。proxy.setUser API を使用してユーザー名を設定します。つまり、次のようになります。

proxy.setUser(settDialog.ui->username->text());
于 2012-09-21T16:27:01.570 に答える