Qt中如何建立HTTPS上传附件

zhusizhi007 2012-08-31 04:13:28
以前用的是HTTP,可以上传附件,现在要改用https, 用的是QNetworkAccessManager连接类 + QNetworkRequest 类。
基本流程如下:
QNetworkAccessManager *p_networkMng = new QNetworkAccessManager;
QNetworkRequest request;
serverURL="https://report.com/a/b/c/";
QByteArray content;
QFile filePackage(logFile);
content = filePackage.readAll();

request.setHeader(QNetworkRequest::ContentTypeHeader, "application/zip");
request.setRawHeader("fileName",logFile.toAscii());

l_request.setUrl(QUrl(serverURL));
mp_reply = p_networkMng->post(request, content);

在HTTP下可以正常运行,但是在 HTTPS下不知道为什么出错。
...全文
459 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gateslu 2012-09-11
  • 打赏
  • 举报
回复
求指点啊,楼主!我也想做一个上传的客服端!!
zhusizhi007 2012-09-06
  • 打赏
  • 举报
回复
已经搞定,谢谢各位
ibingow 2012-09-03
  • 打赏
  • 举报
回复
content内容设置成multipart试试,直接传文件内容一般不行吧。qt4.8里提供了QHttpMultiPart来简化操作,之前的版本可以参考我那个 https://github.com/wang-bin/PhotoKit/tree/master/src/network 里的qput类
zhusizhi007 2012-09-03
  • 打赏
  • 举报
回复
自己顶一下,
zhu_xz 2012-09-03
  • 打赏
  • 举报
回复
ContentNotFoundError就是说路径错误
zhusizhi007 2012-09-03
  • 打赏
  • 举报
回复
测试发现调用get方法 mp_networkMng->get(requestTemp);
是OK的,虽然中间会报sslErrors,但是reply->ignoreSslErrors();后,可以成功

但是上传zip文件失败,返回的错误类型为:ContentNotFoundError

处理基本流程:
QNetworkRequest request(urlTemp);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/zip");
request.setRawHeader("fileName",logFile.toAscii());
QSslConfiguration conf = request.sslConfiguration();

conf.setProtocol(QSsl::SslV3);
request.setSslConfiguration(conf);

mp_reply = mp_networkMng->post(request, content);

zhu_xz 2012-08-31
  • 打赏
  • 举报
回复
报啥错?是不是不认识根证书?

16,239

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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