QT 5.60 https 通信

baidu_20048575 2016-06-12 03:51:59
pManager = new QNetworkAccessManager(this);
QNetworkRequest req;
QSslConfiguration config;
QByteArray content = "username=root@cve&password=111111";
int contentLength = content.length();

config.setPeerVerifyMode(QSslSocket::VerifyNone);
config.setProtocol(QSsl::TlsV1SslV3);
req.setSslConfiguration(config);

req.setUrl(QUrl("https://192.168.1.1:8006/api2/json/access/ticket"));
req.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
req.setHeader(QNetworkRequest::ContentLengthHeader,contentLength);
QNetworkReply *pReply = pManager->post(req, content);
QByteArray encodedString = pReply->readAll();
qDebug()<<QString(encodedString)<<endl;
QTextCodec *codec = QTextCodec::codecForName("KOI8-R");
QString string = codec->toUnicode(encodedString);
qDebug()<<string<<endl;
为什么返回值pReply是空的??
...全文
264 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
冷静忍耐 2016-06-13
  • 打赏
  • 举报
回复
用的也是https:// qt是5.6版本
冷静忍耐 2016-06-13
  • 打赏
  • 举报
回复
引用 4 楼 baidu_20048575 的回复:
求大神指点
libeay32.dll 和 ssleay32.dll这两个有吧。 我这样写是可以的,而且没写什么QSsl::TlsV1SslV3这些,然后服务器是可以收到的。 你的是不是传上去了??只是你的服务器没返回??? networkManager = new QNetworkAccessManager(this); connect(networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*))); QByteArray ary = url; ary.append("&user="); ary.append(account); ary.append("&password="); ary.append(password); int aryLength = ary.length(); QNetworkRequest req; req.setUrl(ary); req.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); req.setHeader(QNetworkRequest::ContentLengthHeader, aryLength); networkManager ->post(req, ary);
baidu_20048575 2016-06-13
  • 打赏
  • 举报
回复
求大神指点
baidu_20048575 2016-06-13
  • 打赏
  • 举报
回复
引用 6 楼 u013466477 的回复:
用的也是https:// qt是5.6版本
引用 6 楼 u013466477 的回复:
用的也是https:// qt是5.6版本
引用 6 楼 u013466477 的回复:
用的也是https:// qt是5.6版本
十分感谢您,我传的域名错了,改了域名没问题了
baidu_20048575 2016-06-12
  • 打赏
  • 举报
回复
引用 1 楼 u013466477 的回复:
这样写试一下,回复完成后再读取。 pReply = pManager->post(req, content); connect(pReply, SIGNAL(finished()), this, SLOT(replyFinished())); connect(pReply, SIGNAL(uploadProgress(qint64 ,qint64 )), this, SLOT(updateProgress(qint64 ,qint64 ))); void replyFinished() { qDebug()<<pReply->readAll(); }
还是空的,是不是认证有问题?
baidu_20048575 2016-06-12
  • 打赏
  • 举报
回复
还是空的,是不是认证的问题?
冷静忍耐 2016-06-12
  • 打赏
  • 举报
回复
这样写试一下,回复完成后再读取。 pReply = pManager->post(req, content); connect(pReply, SIGNAL(finished()), this, SLOT(replyFinished())); connect(pReply, SIGNAL(uploadProgress(qint64 ,qint64 )), this, SLOT(updateProgress(qint64 ,qint64 ))); void replyFinished() { qDebug()<<pReply->readAll(); }

24,853

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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