summaryrefslogtreecommitdiffstats
path: root/src/network/access
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/access')
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
index 8f8367a97c..dad7136485 100644
--- a/src/network/access/qhttpnetworkconnection.cpp
+++ b/src/network/access/qhttpnetworkconnection.cpp
@@ -926,8 +926,16 @@ void QHttpNetworkConnectionPrivate::startHostInfoLookup()
networkLayerState = InProgress;
// check if we already now can descide if this is IPv4 or IPv6
+ QString lookupHost = hostName;
+#ifndef QT_NO_NETWORKPROXY
+ if (networkProxy.capabilities() & QNetworkProxy::HostNameLookupCapability) {
+ lookupHost = networkProxy.hostName();
+ } else if (channels[0].socket->proxy().capabilities() & QNetworkProxy::HostNameLookupCapability) {
+ lookupHost = channels[0].socket->proxy().hostName();
+ }
+#endif
QHostAddress temp;
- if (temp.setAddress(hostName)) {
+ if (temp.setAddress(lookupHost)) {
if (temp.protocol() == QAbstractSocket::IPv4Protocol) {
networkLayerState = QHttpNetworkConnectionPrivate::IPv4;
QMetaObject::invokeMethod(this->q_func(), "_q_startNextRequest", Qt::QueuedConnection);
@@ -940,7 +948,7 @@ void QHttpNetworkConnectionPrivate::startHostInfoLookup()
} else {
int hostLookupId;
bool immediateResultValid = false;
- QHostInfo hostInfo = qt_qhostinfo_lookup(hostName,
+ QHostInfo hostInfo = qt_qhostinfo_lookup(lookupHost,
this->q_func(),
SLOT(_q_hostLookupFinished(QHostInfo)),
&immediateResultValid,