Qt http请求返回301与302

红尘氵梦 2017-03-31 12:14:35
这样写的代码返回的是301错误,并且没有得到得到响应头的首部,strList得到的是空的,但是我用c的socket和发包工具得到的是302错误,请问重定向问题,该怎么弄?为什么会得到空的响应头的首部?

void Widget::SearchClicked()
{
QString strUrl = "www.kanshuge.la/modules/article/searche.php?searchkey=%CC%EC%C2%B7%C9%B1%C9%F1";
QNetworkRequest req(strUrl);
QNetworkAccessManager *managerNetwork = new QNetworkAccessManager;
QNetworkReply *reply = managerNetwork->get(req);

connect(managerNetwork, SIGNAL(finished(QNetworkReply*)), this, SLOT(ReplyFinished(QNetworkReply*)));

}

void Widget::ReplyFinished(QNetworkReply* reply)
{
QList<QByteArray> strList;
strList = reply->rawHeaderList();
qDebug() << reply->error();
qDebug() << strList;
}

...全文
2065 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 astro_lee 的回复:
重定向的问题看你用的是哪个版本的Qt 5.6以前版本: 先用reply->rawHeader("Location")获取跳转的url,然后重新请求此url。注意可能会重定向多次,重复执行前面步骤即可。 5.6之后的版本,包括5.6 在managerNetwork->get之前,调用req.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);让Qt自动为你跳转
老哥,get请求用这个可以。现在post请求也设置了这个标识,但是仍返回302该怎么解决?
  • 打赏
  • 举报
回复
引用 2 楼 astro_lee 的回复:
重定向的问题看你用的是哪个版本的Qt 5.6以前版本: 先用reply->rawHeader("Location")获取跳转的url,然后重新请求此url。注意可能会重定向多次,重复执行前面步骤即可。 5.6之后的版本,包括5.6 在managerNetwork->get之前,调用req.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);让Qt自动为你跳转
牛皮,解决了我的问题
红尘氵梦 2017-03-31
  • 打赏
  • 举报
回复
引用 2 楼 Kenier 的回复:
重定向的问题看你用的是哪个版本的Qt 5.6以前版本: 先用reply->rawHeader("Location")获取跳转的url,然后重新请求此url。注意可能会重定向多次,重复执行前面步骤即可。 5.6之后的版本,包括5.6 在managerNetwork->get之前,调用req.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);让Qt自动为你跳转
5.6之前的版本就是用reply->rawHeader("Location")获得的数据是空,所有我才用reply->rawHeaderList();去枚举,枚举的数据打印的是空的
红尘氵梦 2017-03-31
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
《http权威指南》? 用wireshark抓包对比?
我是用Burpsuit抓的包和用winSock写的发包进行对比
ly1chee 2017-03-31
  • 打赏
  • 举报
回复
重定向的问题看你用的是哪个版本的Qt 5.6以前版本: 先用reply->rawHeader("Location")获取跳转的url,然后重新请求此url。注意可能会重定向多次,重复执行前面步骤即可。 5.6之后的版本,包括5.6 在managerNetwork->get之前,调用req.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);让Qt自动为你跳转
赵4老师 2017-03-31
  • 打赏
  • 举报
回复
《http权威指南》? 用wireshark抓包对比?

65,199

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧