QNetworkAccessManager的坑

在用Qt自带的QNetworkAccessManager做http请求时,碰到一些坑,比如在请求过程中,碰到断网后,即使再把网线连上,也无法请求,而且报错信息为:

QNetworkReply::UnknownNetworkError "Network access is disabled."

原因可以参考:https://blog.youkuaiyun.com/linkang1024/article/details/96306421
大致就是说,断网了后,网络状态改变了,但是重新连网后状态并没有更正过来,所以http请求就一直报错。

解决方式:
每次发送http请求前,如下操作

if (m_manager->networkAccessible() != QNetworkAccessManager::Accessible)
{
    m_manager->setNetworkAccessible(QNetworkAccessManager::Accessible);
}

存在网络缓存也会导致一直请求失败,可以清掉缓存

void clearAccessCache()

 void clearConnectionCache()

碰到问题,可以多看看QNetworkAccessManager,里面有很多你没想到的东西。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值