使用qt 在http协议post请求数据时,服务器端接收到的数据为空

使用qt 框架编写了一个http协议post请求数据的测试代码,如下
QString string;
QString strClassID;
QString strSerialId;
QString strCurrent_time;
QNetworkAccessManager *manager;

string = "amdin"
strClassID = "1001";
strSerialId = "AWV9006";
strCurrent_time = "2018.7.11.21.06.53"

QJsonObject json;
QJsonDocument document;
QByteArray array;

json.insert("class_code",strClassID);
json.insert("hand_written_board_code",strSerialId);
json.insert("time_code",strCurrent_time);
json.insert("data",string);

document.setObject(json);
array = document.toJson(QJsonDocument::Compact);

QNetworkRequest request(QUrL("http://**********:8080/***/*****/*******"));
request.setHeader(QNetworkRequest::ContentTypeHeader,QVariant("application/json"));

manager->post(request,"data=[{"+array+"}]");

对方web服务器要求的接收数据格式为:http://localhost:8080/***/****/******?data=[{"class_code":"***","hand_written_board_code":"***","time_code":"***","data":"***"}]
但是我在post时,对方服务器接收的数据为空,我这边字节数组里,明明有数据?问题到底出现在哪里,是我的post格式不正确吗?

0

3个回答

格式显然是不对的,data=[{}] 这部分是查询字符串,key 是 data,value 是一个数据,里面包含了对象。
HTTP 发送请求请参考:Qt 之高级网络操作(HTTP/FTP 快速上手)

发请求时,建议用抓包工具分析一下,比如:Web/HTTP 调试利器(Fiddler)

1

在发送前看下再观察下json的数据是否正确,还有是不是字符集的问题

0

你让对方给你一个能调通的demo 然后对比下看看 既然他们给出了地址 那肯定也会有能调通的demo的

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用qt 在http协议post请求数据时,服务器端接收到的数据为空
使用qt 框架编写了一个http协议post请求数据的测试代码,如下n QString string;n QString strClassID;n QString strSerialId;n QString strCurrent_time;n QNetworkAccessManager *manager;nn string = "amdin"n strClassID = "1001";n strSerialId = "AWV9006";n strCurrent_time = "2018.7.11.21.06.53"nn QJsonObject json;n QJsonDocument document;n QByteArray array;nn json.insert("class_code",strClassID);n json.insert("hand_written_board_code",strSerialId);n json.insert("time_code",strCurrent_time);n json.insert("data",string);nn document.setObject(json);n array = document.toJson(QJsonDocument::Compact);nn QNetworkRequest request(QUrL("http://**********:8080/***/*****/*******"));n request.setHeader(QNetworkRequest::ContentTypeHeader,QVariant("application/json"));nn manager->post(request,"data=["+array+"]");nn对方web服务器要求的接收数据格式为:http://localhost:8080/***/****/******?data=["class_code":"***","hand_written_board_code":"***","time_code":"***","data":"***"]n但是我在post时,对方服务器接收的数据为空,我这边字节数组里,明明有数据?问题到底出现在哪里,是我的post格式不正确吗?
iOS使用AFNetworking的POST上传数据到服务器,服务器接收不到数据的原因和解决办法
原因:后台的json格式错误,后台数据格式不规范导致的。有时安卓好用iOS却不好用。解决方法:1.跟后台沟通选用通用的JSON格式。2. 给AFHTTPSessionManager的实例添加一个方法manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObjects:@"appl...
Post提交大数据量,接收端接收不到数据的解决方法
相信很多人都知道post提交是不限制提交的数据量大小的,这是事实。但是,在实际的开发中还是会遇到post提交大数据量,接收端接收不到的问题。最近我就遇到了这么一个问题,折腾了好久最后没办法,于是求救老大,老大稍微点拨一下,就发现了问题所在,后来通过查询资料,才搞明白原因所在。好吧,先说下原因:post提交本身提交的数据量是不限制大小的,但是会受限于接收数据的服务器的配置影响,更具体点,如果使用的是
手动get post请求网络(面向http协议向服务器提交数据)
手动写这两种请求网络方式,都是些基础,但是么得基础,如何更好的理解第三方库呢,说白了第三方库不也是对基础的封装嘛。 话不多说,代码拉上来! 呃 wait... 先来说下两种方式的原理和不同,采用HttpUrlConnection  Get请求  原理:把要提交的数据组拼到url后面 * 数据长度不超过4kb,IE超过1Kb会摒弃掉后面的数据  优点:代码书写简单  缺
使用Qt通过HTTP请求数据(post和get)
我当前使用的Qt版本是5.5.1 该版本的HTTP相关处理模块在遇到重定向的时候不会自动重定向,需要手工处理,我在这个例子中处理了这种方式。 话不多说我直接上示例代码了: 类名:CHttpSupport .h文件 #ifndef CHTTPSUPPORT_H #define CHTTPSUPPORT_H #include <QNetworkAccessManager> c...
httpurlconnection使用post传值时web接口接收不到值
最近好久没有写博客了,因为上班的原因。今天想做一个点餐系统,移动版和服务器版。数据使用json数据进行传输。但是碰见一个难题就是如何让移动端将数据传输给服务器,然后进行更新到数据库。进入正题: 因为我使用的是httpurlconnection,大家都知道get请求的参数是放在url后面以?开头&分割。但是如果我们参数多或者是参数不想让别人知道的时候我们就要使用post,因为他的参数是放在相
java调用webservice接口服务端接收参数为空
使用axis调用接口时,我是这样设置传参类型的:     call.addParameter("data", XMLType.XSD_STRING,                                 ParameterMode.IN); 接口服务端说参数为空,查了资料后,可能性为以下2个: 1.没有设置传入参数的类型, 2.没有设置对应命名空间: 设置call.addPa
C#通过HTTP协议get、post Webservice,并返回数据
客户端以窗口形式展示、通过HTTP协议Get、Post到Webservice的返回数据,代码简单易懂,非常适合学习参考!代码注释清晰!
$.post 方式提交数据到后台为null
之前使用的一直是jQuery的$.ajax方式发送请求,然后使用data:data 发送请求及数据到后台,今天使用了$.post突然还有点不适应,记录下今天的错误。 错误书写方式 /** *@param val是我要使用的一个参数 ,string类型 / $.post("courseImage/checkFileMd5", {"md5",JSON.stringify(val)},fun...
android Retrofit框架使用@body上传数据,服务端接收数据为空的解决办法
有时候当上传的数据参数很多的时候,会用model打包上传,但是如果服务端的解析方式不当,无论你怎么上传,服务端解析到的数据包里面数据都是null服务端请用ResponseBody 客户端:@POST("FenceSetting/add") Observable> addFence(@Body RequestBody fenceSetting);服务端: @InitBinder("fence
Qt|Http笔记-两种方式发送http协议数据,获取服务器数据(GET方法)
目录   背景 演示 搭建Java Web环境 QTcpSocket获取服务器数据 QNetworkAccessManager获取服务器数据   背景 Qt中有2个方式可以实现HTTP协议的发送,一个是使用QNetworkAccessManager,这个是非常常见的,另外是使用QTcpSocket自己构造HTTP格式,也是可以的。   演示 web程序运行如下: 输入...
post参数提交后服务端接收不到的排查办法
今天提交一个post请求的时候发现,提交的参数有几个接收不到排除程序本身问题后,发现可能是以下几个原因 1、浏览器post大小限制 2、服务器限制 3、语言限制
使用CXF时服务端接收到的参数值为null
环境说明:cxf的版本为cxf-2.1.4,spring版本为2.5 使用CXF来访问webservice时,服务端接收到的参数值为null,以下两种原因会造成这一状况 (一)发布方式和客户端访问代理方式不匹配 (二)错误的服务发布配置 【附上一个诡异的问题】为什么同样是服务配置错误,有的服务仍然可以访问,而有的服务就是访问不了?
HTTP客户端向服务器请求数据
一、HTTP客户端向其他网站请求数据 在node.js中,我们可以轻松的向任何网站发送请求并读取该网站的响应数据: 在http模块中,我们可以使用Request方法向服务器(其他网站)请求数据。Request方法的使用方式如下: var req = http.request(opts,callback); 我们注意到在request方法中有两个参数,其中opts参数为一个对象或者字符串,用
在使用XMLHttpRequest的时,传到服务器的值出现空值
window.onload = function() { var username = document.getElementById("username"); username.onblur = function() { var name = this.value; alert("您的姓名是:" + name); var xhr = new XMLHttpRequest();
tomcat服务器与Http协议之请求(get请求、post请求)和响应
1 Web开发入门 /* 1.1 引入 之前的程序: java桌面程序,控制台控制,socket gui界面。javase规范 现在和以后的程序:java web程序。浏览器控制。javaee规范 1.2 软件的结构 C/S (Client - Server 客户端-服务器端) 典型应用:QQ软件 ,飞秋,红蜘蛛。 特点: 1)必须下载特定的客户端程序。
使用 ajax、 post时后台接收到的数据为空null
controller @RequestMapping(value="admin/insert/user")     @ResponseBody     public Map<String, String> insertUserType(              @RequestParam( value =“username ”required=false) String  user...
Http文件上传服务器端接收的数据格式
POST / HTTP/1.1 Host: 127.0.0.1:88 Connection: keep-alive Content-Length: 892 Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Origin: null U
spring boot post请求数据太大接收不到参数(参数为空)报400错误。
spirng boot发送的请求,有的参数数据量大,有的参数数据量小。数据量大的发送不到后端,报400错误。 首先说以jetty为内嵌服务器的时候: 1、修改yml文件或者properties文件, server.max-http-post-size=200*1024*1024,设置为200m,总够了吧,可以按照量设置小一点。 Spring Boot 1.4.0.M2之后就可以使用这个属性...
解决服务器收到的post数据出现部分乱码问题
解决服务器收到的post数据出现部分乱码问题 今天遇到一个很奇怪的问题,当我使用Java代码进行post提交json数据时,服务器居然出现部分乱码的现象,这些部分乱码不是什么特殊的符号,而是普通的中文,比如:“互联??” 、“网互联网??网” 。我提交json数据时全部是utf-8编码,服务器也是采用utf-8编码,为什么会出现这样的乱码呢?很令人费解! 于是我就试试通过表单提交会出现这种情况
Nodejs POST 请求 req 为空的解决方法
Nodejs req.body 默认为空。如果使用了 express 框架,可以输入以下代码解决 var bodyParser = require('body-parser') app.use(bodyParser.urlencoded({ extended: false })) app.use(bodyParser.json())  ...
Unity通过HTTP中POST访问网络数据
Http请求主要是通过向服务器发送json数据,服务器返回json数据。该代码中有POST主方法,并且还提供json和对象类型进行相互转化的方法,方便开发者使用Unity 中Http 的POST请求。使用方便,快捷,只需要建立相应的参数对象和返回结果对象直接调用即可。
exchange2010打开管理控制台出现错误:WinRM客户端已将请求发送到HTTP服务器
打开Exchange控制台或者Shell程序出现错误:WinRM客户端已将请求发送到HTTP服务器检查IIS中,站点ip端口绑定列表确认存在如图所示最后一行的绑定,即jhttp://localhost:80如果不存在,则添加(如下图所示配置,点击确定即可)...
C#中如何通过HTTP协议的不同请求方式获取数据
HTTP协议
使用OKHttp请求json数据一直显示null
问题描述在使用Okhttp3+retrofit2+Rxjava请求json数据时,可以正常请求数据,但是在转换成实体类时,一直显示null,具体问题如下:D/OkHttp: { "error_code" : 0 , "reason" : "Success!" , "result" : { "GetRankTypeRsp" : { "RankList" : { "Rank" : [ { "rankTy
http post 接收数据 和 乱码问题
问题:用http传数据  1.后台接不到  user对象各个属性全是null 2.传的汉字乱码  解决: $http({         method: 'POST',         url: URL+"/user/saveUser",         data:{'username':$scope.user.username} ,         headers: {
http以post方式请求时,参数为json格式的字符,被请求方不能识别该请求 获取不到数据
当你用postman进行类似这种请求时是可以获取返回数据的, 但是如果你用java代码模拟http的post请求时将参数直接挂在url后面的时候被请求方将不会识别这种请求,那怎么样才能改正呢? 直接上代码: 工具包依赖: <dependency> <groupId>cn.hutool</groupId> ...
C++实现的服务器post访问并实现JSON数据流解析
本代码借鉴了网上其他大神用C++实现的post方法,自己经过修改并添加了对接收的json数据流进行了解析的功能
通过HTTP多线程并发post/get数据
编译工具:VC++6.0 通过http进行多线程并发post/get数据从服务器上,并将数据显示在界面上。
客户端发送POST请求数据到服务器
/** * Created by yang on 2017/1/4. */ // 导入模块 var http = require('http'); var querystring = require('querystring'); var util = require('util');// 创建服务器 var server = http.createServer(function (req, r
关于post数据服务器端接收不全
post数据接收不全的问题
post请求服务器端无法获取的解答
$_POST 只能接收 Content-Type 为 application/x-www-form-urlencoded 和 multipart/form-data 的 POST 数据。如果你要用 $_POST 的话,你就改一下这里:header: { 'Content-Type': 'application/json' }把上面的 applicat...
http 请求服务器收到中文乱码问题
https://hanyu.baidu.com/shici/s?wd=%E6%B7%B1%E5%9C%B3%E5%9D%91%E6%A2%93%E9%BE%99%E7%94%B0%E6%9C%8D%E5%8A%A1%E7%A1%AE%E5%AE%9E%E6%AD%A3%E5%9C%A8%E5%B0%8F%E5%A6%B9%E5%95%AA%E5%95%AA%E5%95%AA%E6%89%BE%E4...
解决客户端从服务器请求数据乱码问题
当从服务器请求文本格式的内容时,很可能会出现乱码问题,这是因为服务器内容编码格式和客户端获取内容格编码式不一致导致。 如下: 服务器端 客户端 这时就不能直接使用通过网路请求得到的数据了,需要在客户端进行进一步的编译! private String getStringFromInputStream(InputStream is) throws IOException{ ByteA
android 使用https请求请求数据
android 使用https请求   今年年初就已经吵吵着要把大部分的服务端由http转成https了,但是由于很多公司还是比较懒,而且有的公司可能不想再多掏一些钱去对自己的网址加入CA认证,所以这件事就一直拖下来了,但是随着用户数据越来越多暴露在一些不法分子眼前,所以信息安全越来越被用户重视,一些金融、贷款公司已经开始使用这种技术了,今天就来讲解一下android上面的通过https对服务...
Content-Type引发的服务端收不到HTTP请求参数的问题
问题现象: 前端POST请求参数已经传过来了,Java后端Debug也能进到请求里,可就是取不到请求参数。 用Chrome 开发者工具可以看到请求的不同: 可以看到请求参数一个在Form Data中,一个在Request Payload中,而且格式也不同。 不同的原因就在于Content-Type设置不同。 HTTP Content-Type 
MVC POST数据到后台,对应Model接收字段全部为null问题
MVC POST数据到后台,对应Model接收字段全部为null问题解决办法。 修改参数名称 public ActionResult SaveProduct(ProductInfo model) { //这个时候model为空 return Content("测试用"); } 修改mode
http post请求时,数据过多,无法提交,bug解决
最近我们在做项目的时候,遇到提交订单时,如果订单的数据过多过大,结果总是post不成功,请求发布出去,如果数据量比较少,只有三五个订单,结果没有任何问题,之前发了好几个版本也没有遇到这个问题,请求框架还是沿用之前的 compile 'org.xutils:xutils:3.5.0' xutils. 请求不成功也看不到任何日志, 解决办法: 敲入:System.err.print
react axios请求服务器,服务器接收不到参数问题
本人在用react写页面时。请求自己后台,发现明明传了参数,后台debug模式,查看,接收不了参数。 问题点:传参格式不正确,与后台想要的格式不一致。 业务描述:角色页面,初始化页面获取角色,分页查询,参数为分页参数 (一)不能传参时的  (第一种场景) 1、前端代码 constructor(props) { super(props) this.state = {...
QT 通过POST方法,上传文件到服务器
直接上代码: 第一种方法: QUrl url; url.setUrl(makeFullUrl(m_opt.submitdebateresult.url)); #if QT_VERSION >= 0x050000 QUrlQuery q; addSessionIdQueryItem(&q); q.addQueryItem(m_opt.submitdebateresult.query.m
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo