这里Fiddler抓包是有显示的:

但Postman却提示Could not get any response

经过各种分析,发现问题出现在服务端

主要的原因就是Content-Length这个值,这里的已经告诉客户端是utf-8编码的,但里面含有中文,对应的数据Content-Length与body里面的长度不一致。

服务端是这样计算长度的:

class HttpResponse {public:static QString success(const QString &body){QString ret = "HTTP/1.1 200 OK\r\n"\"Date: %1\r\n"\"Pragma: no-cache\r\n"\"Content-Type: application/json; charset=utf-8\r\n"\"Cache-Control: no-cache\r\n"\"Server: It1995HttpsWebServer\r\n"\"Content-Length: %2\r\n"\"\r\n"\"%3";QLocale locale = QLocale::English;QString format = "ddd,dd MM yyyy hh:mm:ss";QString currentTime =locale.toString(QDateTime::currentDateTime().toUTC(), format) + " GMT";int length = body.size();ret = ret.arg(currentTime).arg(length).arg(body);return ret;}
};

这种方式不正确,没有转换成utf-8计算长度,正确的代码:

class HttpResponse {public:static QString success(const QString &body){QString ret = "HTTP/1.1 200 OK\r\n"\"Date: %1\r\n"\"Pragma: no-cache\r\n"\"Content-Type: application/json; charset=utf-8\r\n"\"Cache-Control: no-cache\r\n"\"Server: It1995HttpsWebServer\r\n"\"Content-Length: %2\r\n"\"\r\n"\"%3";QLocale locale = QLocale::English;QString format = "ddd,dd MM yyyy hh:mm:ss";QString currentTime =locale.toString(QDateTime::currentDateTime().toUTC(), format) + " GMT";int length = body.toUtf8().size();ret = ret.arg(currentTime).arg(length).arg(body);return ret;}
};

关键:

Postman|Qt笔记-解决Could not get any response相关推荐

  1. Qt笔记-解决键盘事件不能正常响应(其他响应事件通用)

    比如在主Widget中写了KeyPressEvent却发现部分按键不能响应,或者全部都不能响应. 造成这个原因是因为,响应事件被其他控件劫持了(Qt中有些控件自带劫持,响应某些按键). 解决方法: 找 ...

  2. Qt笔记-解决Q3DScatter加载QCustom3DItem时Cannot open the file问题

    Qt在撸3D程序的时候,这里使用c++去撸,不使用qml. 这里使用QCustom3DItem,然后使用Q3DScatter去加载的时候. 会出现这样的问题, qDebug() << &q ...

  3. Qt笔记-解决QSocketNotifier: Multiple socket notifiers for same socket xxx and type Read问题

    Qt中的socket有个descriptor的概念,这个descriptor就代表socket. 报这个错误是因为,你程序里面2个socket都绑了同一个descriptor.所以出现了问题. 我的遇 ...

  4. Qt笔记-解决QObject::startTimer: Timers cannot be started from another thread

    原因是QTime或QTImeLine这类,多线程中创建和调用要在一个线程中. 因为构造函数在main线程中创建的,run是子线程中,所有,这部分代码的new要在run中去new就可以了.

  5. Qt笔记(三十七)之解决QWebSocket收发中文乱码问题

    一.前言 之前介绍了基于QWebSocket实现的的服务端和客户端: Qt笔记(三十五)之QWebSocket简单使用(1)-实现服务端 Qt笔记(三十六)之QWebSocket简单使用(2)-实现客 ...

  6. Qt笔记(五十四)之Activate控件开发

    一.Activate控件简介(内容摘自自百度) ActiveX控件是Microsoft的ActiveX技术的一部分.ActiveX控件是可以在应用程序和网络中计算机上重复使用的程序对象.创建它的主要技 ...

  7. Postman 解决 “Could not get any response” 问题

    Postman 解决 "Could not get any response" 问题 参考文章: (1)Postman 解决 "Could not get any res ...

  8. postman 请求 页面出现 Could not get any response 解决方法

    postman 请求 页面出现 Could not get any response 解决方法 参考文章: (1)postman 请求 页面出现 Could not get any response ...

  9. [转载]Qt之解决中文乱码

    博主很给力 原文地址:Qt之解决中文乱码作者:一去二三里 在项目开发的过程中,中文乱码是比较常见的问题!用Qt开发也不例外,之前在做界面的时候没有发现什么问题,但是在程序移植的过程中问题出现了! 在W ...

最新文章

  1. 【学习笔记】超简单的多项式除法(含完整证明)
  2. 《强化学习周刊》第34期:牛津、谷歌、Facebook等 | 自动强化学习 (AutoRL):研究综述和开放性问题...
  3. Apache HBase快照介绍
  4. 【DWR系列04】- DWR配置详解
  5. (转)刘汝佳书上出现的一些题目
  6. mybatis中使用sql @变量
  7. matlab能输入铁心参数,基于MATLAB的电力机车110伏直流稳压电源仿真研究
  8. 会按摩的充气颈枕,只占行李箱一个角,却能让你的脖子爽到爆
  9. javafx_JavaFX 2 GameTutorial第2部分
  10. 深入理解 操作系统 SJF算法(以洛谷P1223题为例)
  11. Hadoop--ip和主机名配置
  12. 系统封装接口层 cmsis_os
  13. 反射真的存在性能问题吗?
  14. Windows 10 开启 Num Lock
  15. C++标准库之stack
  16. linux 脚本map,shell中map的用法
  17. 谷歌浏览器如何正确离线网页
  18. matlab一阶惯性滤波,为什么一阶惯性环节也具有滤波的作用
  19. LC振荡器的工作原理
  20. 解决vs中没有为 VSFilter.dll 加载的符号文件问题

热门文章

  1. Entity Framework 4 in Action读书笔记——第四章:使用LINQ to Entities查询:执行手动查询...
  2. JAVA API 中文版
  3. 从月薪8K的分析师到月薪2W,只因我有了这份工具清单!
  4. jquery validate 中文教程【入门到精通】
  5. 给大家一个网站程序,fastmai网站源码
  6. 2012年11月04日春色满园关不住freeeim源码哇
  7. 2005年最具钱途的人才:软件研发炙手可热
  8. 技术人员的明天:35岁后我们做什么
  9. 支付宝程序员眼中的极致代码和卓越程序员是什么样的?
  10. 码农30多岁,要被辞退的时候 怎么办?