项目中用到了QNetworkAccessManager QNetworkRequest 调用web api.程序在有些机器上第一次请求webapi过好久才返回结果(一个很简单的web接口)。表现为win10机器请求很快返回,有些win7返回也很快,但有个测试同事机器win7系统第一次请求很慢。开始以为是QT问题(因为用QT用了不到一个月)。后来用C#用HttpWebRequest写了简单Demo也在那个测试同事机器上测试第一请求还是会很慢。这时我意思到了应该不是QT问题。应该是机器环境问题。那到底是什么环境问题呢
如是在网上搜索了一下c#相关请求问题。果然有类似问题。解决Win7中第一次HttpWebRequest连接缓慢、超时等问题。
综合上述可能是和系统不同的“默认代理和用户验证策略”有关。所以我们就不设置代理。
(一)c#中解决办法通过编码的方式手动关闭Proxy。
var req = WebRequest.Create("http://www.google.com") ;
req.Proxy = null;
(二)QT中解决办法
QNetworkAccessManager *networkAccessManager=new QNetworkAccessManager();
networkAccessManager->setProxy(QNetworkProxy::NoProxy);