找回密码
 立即注册
收起左侧

QNetworkAccessManager无法自动跳转怎么破。。

3
回复
7612
查看
[复制链接]
累计签到:29 天
连续签到:1 天
来源: 2014-1-16 17:16:01 显示全部楼层 |阅读模式
1Qter豆
当我使用QNetworkAccessManager的get方法时,reply返回:
object moved <a href="...">
这样就要再调用一次get,手动跳转到href指示的地址,十分麻烦。


当然,再调用一次就可以解决,但是我们不可能只用get,如果用上post方法,根本无法实现表单操作,每次都是返回object moved,求破!!!

PS: C# 可以跳转,蛋疼。。。

最佳答案

查看完整内容

拿到qnetworkreply后,先检查http状态码,使用里面的QVariant attribute(QNetworkRequest::Attribute code) const 参数如下: 1. 先用QNetworkRequest::HttpStatusCodeAttribute,可得到http状态码,如果是302 2. 再用QNetworkRequest::RedirectionTargetAttribute,即可得到跳转地址 具体请查看QNetworkReply Classs,qt4和qt5一样
回复

使用道具 举报

尚未签到

2014-1-16 17:16:02 显示全部楼层
拿到qnetworkreply后,先检查http状态码,使用里面的QVariant attribute(QNetworkRequest::Attribute code) const  
参数如下:
1.  先用QNetworkRequest::HttpStatusCodeAttribute,可得到http状态码,如果是302
2.  再用QNetworkRequest::RedirectionTargetAttribute,即可得到跳转地址

具体请查看QNetworkReply Classs,qt4和qt5一样
回复

使用道具 举报

累计签到:29 天
连续签到:1 天
2014-1-17 09:39:19 显示全部楼层
本帖最后由 ztzheng 于 2014-1-17 09:40 编辑
Joey_Chan 发表于 2014-1-16 22:43
拿到qnetworkreply后,先检查http状态码,使用里面的QVariant attribute(QNetworkRequest::Attribute code) ...

得到跳转地址后呢?如果加在之前的url后面还是跳不了
回复

使用道具 举报

尚未签到

2014-1-17 16:33:43 显示全部楼层
ztzheng 发表于 2014-1-17 09:39
得到跳转地址后呢?如果加在之前的url后面还是跳不了

得到跳转地址就继续用manager->get/post了。。。

manager好像还有个custom sent的函数,忘了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了