Postman|Qt笔记-解决Could not get any response
这里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相关推荐
- Qt笔记-解决键盘事件不能正常响应(其他响应事件通用)
比如在主Widget中写了KeyPressEvent却发现部分按键不能响应,或者全部都不能响应. 造成这个原因是因为,响应事件被其他控件劫持了(Qt中有些控件自带劫持,响应某些按键). 解决方法: 找 ...
- Qt笔记-解决Q3DScatter加载QCustom3DItem时Cannot open the file问题
Qt在撸3D程序的时候,这里使用c++去撸,不使用qml. 这里使用QCustom3DItem,然后使用Q3DScatter去加载的时候. 会出现这样的问题, qDebug() << &q ...
- Qt笔记-解决QSocketNotifier: Multiple socket notifiers for same socket xxx and type Read问题
Qt中的socket有个descriptor的概念,这个descriptor就代表socket. 报这个错误是因为,你程序里面2个socket都绑了同一个descriptor.所以出现了问题. 我的遇 ...
- Qt笔记-解决QObject::startTimer: Timers cannot be started from another thread
原因是QTime或QTImeLine这类,多线程中创建和调用要在一个线程中. 因为构造函数在main线程中创建的,run是子线程中,所有,这部分代码的new要在run中去new就可以了.
- Qt笔记(三十七)之解决QWebSocket收发中文乱码问题
一.前言 之前介绍了基于QWebSocket实现的的服务端和客户端: Qt笔记(三十五)之QWebSocket简单使用(1)-实现服务端 Qt笔记(三十六)之QWebSocket简单使用(2)-实现客 ...
- Qt笔记(五十四)之Activate控件开发
一.Activate控件简介(内容摘自自百度) ActiveX控件是Microsoft的ActiveX技术的一部分.ActiveX控件是可以在应用程序和网络中计算机上重复使用的程序对象.创建它的主要技 ...
- Postman 解决 “Could not get any response” 问题
Postman 解决 "Could not get any response" 问题 参考文章: (1)Postman 解决 "Could not get any res ...
- postman 请求 页面出现 Could not get any response 解决方法
postman 请求 页面出现 Could not get any response 解决方法 参考文章: (1)postman 请求 页面出现 Could not get any response ...
- [转载]Qt之解决中文乱码
博主很给力 原文地址:Qt之解决中文乱码作者:一去二三里 在项目开发的过程中,中文乱码是比较常见的问题!用Qt开发也不例外,之前在做界面的时候没有发现什么问题,但是在程序移植的过程中问题出现了! 在W ...
最新文章
- 【学习笔记】超简单的多项式除法(含完整证明)
- 《强化学习周刊》第34期:牛津、谷歌、Facebook等 | 自动强化学习 (AutoRL):研究综述和开放性问题...
- Apache HBase快照介绍
- 【DWR系列04】- DWR配置详解
- (转)刘汝佳书上出现的一些题目
- mybatis中使用sql @变量
- matlab能输入铁心参数,基于MATLAB的电力机车110伏直流稳压电源仿真研究
- 会按摩的充气颈枕,只占行李箱一个角,却能让你的脖子爽到爆
- javafx_JavaFX 2 GameTutorial第2部分
- 深入理解 操作系统 SJF算法(以洛谷P1223题为例)
- Hadoop--ip和主机名配置
- 系统封装接口层 cmsis_os
- 反射真的存在性能问题吗?
- Windows 10 开启 Num Lock
- C++标准库之stack
- linux 脚本map,shell中map的用法
- 谷歌浏览器如何正确离线网页
- matlab一阶惯性滤波,为什么一阶惯性环节也具有滤波的作用
- LC振荡器的工作原理
- 解决vs中没有为 VSFilter.dll 加载的符号文件问题