TidHTTP的post编码,老掉牙的问题
TidHTTP使用post时,需要提交json字符串。
那么采用什么编码,这个问题就头大了。目前xe已经不要考虑编码转换问题。但是....
我们使用ISuperObject操控json。那么最后提交到post的数据应该是这样?
idHttp.post(urURL,stream)
idhtp1.Post('http://123.124.211.113:9050/myMoth',RequestBody);
==================================
RequestBody是StringStream,具体内容如下才能成功:
'{"biz_content":"{\"nurse_code\":\"230704100523655950\",\"nurse_name\":\"\u5f20\u65e9\u65e9\",\"org_id\": \"1681123936592465920\",\"delete_flag\":\"0\"}","time":"1695139471","sign":"CF8D24967B933104C7B9C74A22249CAB"}'
http接收到改请求数据后会转换成:
{"biz_content": "{\"nurse_code\":\"230704100523655950\",\"nurse_name\": \"张早早\",\"org_id\": \"1681123936592465920\",\"delete_flag\": \"0\"}", "time": "1695139471", "sign": "CF8D24967B933104C7B9C74A22249CAB"}
如此能成功post。
你问我怎么知道。
1、使用firefox安装restClient(?)扩展件。然后就可以如同postman一样进行提交数据,以确认正确的姿势。

2、使用你的exe提交post,不知道数据长成什么样,不要紧使用这玩意抓包。


核对你提交的数据。
最后确定你应该使用:
RequestBody := TStringStream.create(jo.asjson);//而不是jo.asString
tmpstr1 := idhtp1.Post('http://urMeth',RequestBody);
idhtp1.Request.ContentType := 'application/json';
idhtp1.Request.CustomHeaders.Values['secret'] := '1681123936592465920';
idhtp1.HandleRedirects := True; idhtp1.Request.ContentType := 'application/json';
idhtp1.Request.Accept := 'application/json';
TidHTTP的post编码,老掉牙的问题的更多相关文章
- c++Builder XE6 MD5 加密算法 BASE64 URL 编码
xe6,xe7 BASE64XE6 MD5 加密算法Delphifunction MD5(const texto: string): string; var idmd5: TIdHashMessage ...
- Python编码记录
字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...
- URL安全的Base64编码
Base64编码可用于在HTTP环境下传递较长的标识信息.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.此时,采用Base64编码不仅比较简短,同时也具有不可 ...
- myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)
1.每次我们在MyEclispe中创建Jsp页面,生成的Jsp页面的默认编码是"ISO-8859-1".在这种情况下,当我们在页面中编写的内容存在中文的时候,就无法进行保存.如下图 ...
- Base64编码
Base64编码 写在前面 今天在做一个Android app时遇到了一个问题:Android端采用ASE对称加密的数据在JavaWeb(jre1.8.0_7)后台解密时,居然解密失败了!经过测试后发 ...
- 使用etree.HTML的编码问题
title: 使用etree.HTML的编码问题 date: 2015-10-07 17:56:47 categories: [Python] tags: [Python, lxml, Xpath] ...
- 前端学HTTP之实体和编码
前面的话 每天都有各种媒体对象经由HTTP传送,如图像.文本.影片以及软件程序等.HTTP要确保它的报文被正确传送,识别.提取以及适当处理.为了实现这些目标,HTTP使用了完善的标签来描述承载内容的实 ...
- Android数据加密之Base64编码算法
前言: 前面学习总结了平时开发中遇见的各种数据加密方式,最终都会对加密后的二进制数据进行Base64编码,起到一种二次加密的效果,其实呢Base64从严格意义上来说的话不是一种加密算法,而是一种编码算 ...
- iOS 原生地图地理编码与反地理编码
当我们要在App实现功能:输入地名,编码为经纬度,实现导航功能. 那么,我需要用到原生地图中的地理编码功能,而在Core Location中主要包含了定位.地理编码(包括反编码)功能. 在文件中导入 ...
- 软件工程(C编码实践篇)学习心得
孟繁琛 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程 http://mooc.study.163.com/course/USTC-1000002006 软件工程 ...
随机推荐
- WPF 取消在触屏上点击按下不松开会出现矩形背景的效果
加个属性: btn.SetValue(Stylus.IsPressAndHoldEnabledProperty,false); 或者在样式里设置: <Style x:Key="MyB ...
- 线上JVM性能优化详解
概述 jvm中除了程序计数器,其他的区域都有可能会发生内存溢出 内存溢出是什么? 当程序需要申请内存的时候,由于没有足够的内存,此时就会抛出OutOfMemoryError,这就是内存溢出 内存溢出和 ...
- 云辅助隐私集合求交(Server-Aided PSI)协议介绍:学习
原文来自:云辅助隐私集合求交(Server-Aided PSI)协议介绍,下面学习一波,并记录一些笔记. 背景 总结: 1.PSI-CA和PSI相比,前者在乎的是交集的大小,后者在乎的是交集本身.另外 ...
- JavaBean、this:“当前对象的.”、
this:区分类的属性和形参
- HiJobQueue:一个简单的线程安全任务队列
HiJobQueue:一个简单的线程安全任务队列 概述 HiJobQueue 是一个线程安全的任务队列,用于在多线程环境中管理和执行异步任务.它的设计参考了 Cobalt 项目中的 JobQueue, ...
- uni-app无法触发onReachBottom事件
我们经常会遇见列表; 但是今天却发现下拉的时候: 无法触发onReachBottom事件; 原来是因为列表内容嵌套出现问题: 导致onReachBottom事件无法被触发 记住:列表内容如果是组件:外 ...
- Q:以非root用户编辑定时任务报错You are not allowed to use this program(crontab)
编辑定时删除文件任务时报错 crontab -e 编辑定时任务时报错,如下图所示 问题原因:/etc/cron.allow中没有添加对应的用户名解决办法:切换到root用户,在/etc/cron.al ...
- CTFHub-RCE漏洞wp
引言 题目共有如下类型 什么是RCE漏洞 RCE漏洞,全称是Remote Code Execution漏洞,翻译成中文就是远程代码执行漏洞.顾名思义,这是一种安全漏洞,允许攻击者在受害者的系统上远程执 ...
- Codeforces 232 B Table 题解 [ 蓝 ] [ 分组背包 ] [ 组合数学 ] [ 循环节 ]
Codeforces 232B Table. 蒟蒻模拟赛上场切的一道蓝,非常难以置信我竟然能做蓝题. 这题的数据范围初看还是比较坑的,\(10^{18}\) 的值域很容易让人往矩阵加速那方面想.实际上 ...
- 使用C#对Godot属性进行改写(其实是覆盖)
本文地址:https://www.cnblogs.com/oberon-zjt0806/p/14568221.html 背景 我还真没想到C#这个鬼东西还能这么用-- 起初是想通过某种办法改写一下La ...