【发布时间】:2020-04-19 19:32:42
【问题描述】:
是一种HTTP请求发送方式。当目标网站响应时,会调用 httpFinished()。
void HTTPClientBase:: HttpRequestGet()
{
network_manager.setProxy(proxy);
QNetworkRequest network_request;
network_request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
network_request.setUrl(URL);
reply = network_manager.get(network_request);
connect(reply, SIGNAL(finished(QNetWorkReply*)), this, SLOT(httpFinished(QNetWorkReply*)));
}
void HTTPClientBase::httpFinished(QNetWorkReply* reply)
{
// How do I know this reply comes from which proxy?
}
我可以循环调用 HttpRequestGet()。
static HTTPClientBase myClient;
for(int i=0; i<20; i++)
{
myClient.setUrl("https:\\www.google.com");
myClient.setProxy("123.123.123.123:1234"); // The proxy changes every time in this loop.
myClient.HttpRequestGet();
}
当HTTPClientBase::httpFinished(QNetWorkReply* reply)被调用时,我怎么知道这个回复来自哪个代理?
}
【问题讨论】:
-
mmmm,QNetworkRequest 没有 setProxy() 方法,但你在其中使用了它....是错字吗?
-
@eyllanesc,我的错,是 QNetWorkManager 有一个 setProxy()。
标签: c++ qt qnetworkaccessmanager qnetworkreply qnetworkrequest