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

https请求

5
回复
5287
查看
[复制链接]
累计签到:912 天
连续签到:3 天
来源: 2019-3-4 23:22:34 显示全部楼层 |阅读模式
5Qter豆
以下的代码为什么得不到结果,打印strResponse是空的,请问有什么错吗?void Widget::SearchClicked(){    QString strUrl = "https://blog.csdn.net/qq_19393857/article/details/80751896";    QSslConfiguration config ;    config.setPeerVerifyMode(QSslSocket::VerifyNone);    config.setProtocol(QSsl::TlsV1_0);    QNetworkRequest req(strUrl);    //req.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);    req.setSslConfiguration(config);        QNetworkAccessManager *managerNetwork = new QNetworkAccessManager;        QNetworkReply *reply = managerNetwork->get(req);        //槽函数可以用带QEventLoop去读取数据,也可以用自定义槽函数//这个是异步操作    connect(managerNetwork, SIGNAL(finished(QNetworkReply*)), this, SLOT(ReplyFinished(QNetworkReply*)));}
void Widget::ReplyFinished(QNetworkReply* reply){    //QByteArray strResult = reply->rawHeader("Location");    //qDebug()<<"Location:"<< strResult;    QString strResponse = reply->readAll();    qDebug() <<"\r\nstrResponse:" << strResponse;}

最佳答案

查看完整内容

说出来你可能不信,是这个 strResponse 的长度太长了,导致的无法打印,长度 16 万的字符串, QString 可以储存,但是 qDebug 却无法打印出来,你可以用 str.left(100) 看看 ~
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2019-3-4 23:22:35 显示全部楼层
说出来你可能不信,是这个 strResponse 的长度太长了,导致的无法打印,长度 16 万的字符串, QString 可以储存,但是 qDebug 却无法打印出来,你可以用 str.left(100) 看看 ~

点评

谢谢大佬指点,可以问问怎么获取https头吗?  详情 回复 发表于 2019-3-5 19:15
犀利  发表于 2019-3-5 14:24
回复

使用道具 举报

累计签到:912 天
连续签到:3 天
2019-3-5 19:15:38 显示全部楼层
Since 发表于 2019-3-5 09:55
说出来你可能不信,是这个 strResponse 的长度太长了,导致的无法打印,长度 16 万的字符串, QString 可以 ...

谢谢大佬指点,可以问问怎么获取https头吗?
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2019-3-5 21:49:59 显示全部楼层
红尘氵梦 发表于 2019-3-5 19:15
谢谢大佬指点,可以问问怎么获取https头吗?

header 获取, QNetworkReply 的接口列表已经给了 ~

点评

已经弄明白了。谢谢大佬指点  详情 回复 发表于 2019-3-7 20:09
回复

使用道具 举报

累计签到:912 天
连续签到:3 天
2019-3-7 20:09:13 显示全部楼层
Since 发表于 2019-3-5 21:49
header 获取, QNetworkReply 的接口列表已经给了 ~

已经弄明白了。谢谢大佬指点
回复

使用道具 举报

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

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