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编码,老掉牙的问题的更多相关文章

  1. c++Builder XE6 MD5 加密算法 BASE64 URL 编码

    xe6,xe7 BASE64XE6 MD5 加密算法Delphifunction MD5(const texto: string): string; var idmd5: TIdHashMessage ...

  2. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  3. URL安全的Base64编码

    Base64编码可用于在HTTP环境下传递较长的标识信息.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.此时,采用Base64编码不仅比较简短,同时也具有不可 ...

  4. myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)

    1.每次我们在MyEclispe中创建Jsp页面,生成的Jsp页面的默认编码是"ISO-8859-1".在这种情况下,当我们在页面中编写的内容存在中文的时候,就无法进行保存.如下图 ...

  5. Base64编码

    Base64编码 写在前面 今天在做一个Android app时遇到了一个问题:Android端采用ASE对称加密的数据在JavaWeb(jre1.8.0_7)后台解密时,居然解密失败了!经过测试后发 ...

  6. 使用etree.HTML的编码问题

    title: 使用etree.HTML的编码问题 date: 2015-10-07 17:56:47 categories: [Python] tags: [Python, lxml, Xpath] ...

  7. 前端学HTTP之实体和编码

    前面的话 每天都有各种媒体对象经由HTTP传送,如图像.文本.影片以及软件程序等.HTTP要确保它的报文被正确传送,识别.提取以及适当处理.为了实现这些目标,HTTP使用了完善的标签来描述承载内容的实 ...

  8. Android数据加密之Base64编码算法

    前言: 前面学习总结了平时开发中遇见的各种数据加密方式,最终都会对加密后的二进制数据进行Base64编码,起到一种二次加密的效果,其实呢Base64从严格意义上来说的话不是一种加密算法,而是一种编码算 ...

  9. iOS 原生地图地理编码与反地理编码

    当我们要在App实现功能:输入地名,编码为经纬度,实现导航功能. 那么,我需要用到原生地图中的地理编码功能,而在Core Location中主要包含了定位.地理编码(包括反编码)功能. 在文件中导入 ...

  10. 软件工程(C编码实践篇)学习心得

    孟繁琛 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程 http://mooc.study.163.com/course/USTC-1000002006 软件工程 ...

随机推荐

  1. spring-springMVC-总结列表

    Spring 的优良特性 非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API 控制反转:IOC--Inversion of Control,指的是将对象的创建权交给 Spri ...

  2. SSH 跳板机原理与配置:实现无缝跳板连接,一步直达目标主机

    前言 在日常运维或开发工作中,我们常常需要访问部署在内网的服务器.然而出于安全策略或网络拓扑的限制,内网服务器并不会直接向外部暴露端口,导致我们无法"直连"它们.此时,跳板机(Ju ...

  3. linux:搭建 WordPress 个人站点

    参考:链接 介绍 WordPress 是一款使用 PHP 语言开发的博客平台,您可使用通过 WordPress 搭建属于个人的博客平台.本文以 CentOS 6.5 操作系统为例,手动搭建 WordP ...

  4. Nukem pg walkthrough Intermediate

    nmap 扫描 ┌──(root㉿kali)-[~] └─# nmap -p- -A 192.168.157.105 Starting Nmap 7.94SVN ( https://nmap.org ...

  5. Tesseract-OCR使用有感

    这玩意儿就只有一个Tesseract.dll 就算有其它的加上x64目录下的另外两个dll leptonica-1.80.0.dll  tesseract41.dll也不过几兆而已,但是 但是 但是 ...

  6. dart方法之间的调用和可选参数的使用

    01==> 方法封装 void main() { //直接调用 say('好好读书,天天向上'); } say(say) { print(say); } 02==>方法之间的调用 void ...

  7. Palworld幻兽帕鲁世界参数修改最佳实践(Ubuntu)

    本文为您介绍对Palworld游戏世界参数进行修改的最佳实践. 操作场景 本文以Ubuntu操作系统为例,为您介绍通过Palworld专有镜像一键部署Palworld服务器后对游戏世界参数进行修改的具 ...

  8. 安全可信 | 首批!天翼云边缘安全加速平台AccessOne通过信通院“软件自研创新能力”专项评估

    近日,中国信息通信研究院(以下简称"中国信通院")公布"软件自研创新能力"专项评估(简称"可信研创")结果,天翼云边缘安全加速平台Acces ...

  9. Map模糊搜索key

    一.代码 public class StringTest { public static void main(String[] args) { Map<String, Object>map ...

  10. babel-loader 如何工作? 什么是babel-loader插件? babel-loader插件可以干什么? 如何制作一个babel-loader插件?

    本文会介绍比较基本的编译知识和babel-loader运作原理 babel-loader 是什么? 作为老一派的打包工具, babel-loader 想必大家已经非常熟悉了.它长这样子 // webp ...