TIdHTTP get参数带中文解决方法--请求报文
Post 看起来稍微复杂先,暂不讨论。post 目前按照一般方法有中文名也可以。
拼接时:pointname=九记餐厅&begintime=2017-03-01 00:00:00& 有中文和时间有空格,也许会被服务端解析不出来。
&pointname=%E4%B9%9D%E8%AE%B0%E9%A4%90%E5%8E%85&begintime=2017-03-01%2000:00:00&这样的格式才可以。
通过 idhtp1.URL.URLEncode()可以解决
// idhtp1.Request.ContentEncoding :='utf-8';
// idhtp1.Request.CharSet :='utf-8';
idhtp1.Request.ContentType := 'application/x-www-form-urlencoded';
idhtp1.Request.AcceptLanguage := 'zh-CN,zh;q=0.8';
idhtp1.Request.CacheControl := 'no-cache';
idhtp1.Request.Connection := 'keep-alive';
idhtp1.Request.Pragma := 'no-cache'; url:= idhtp1.URL.URLEncode(Edit1.Text);
GetText:= idhtp1.Get(url);
mmo1.Text:=GetText; //方法1
user Httpapp;
HttpEncode(AnsiToUtf8('中文'));
//方法2
S := TIdURI.URLEncode(str);
==报文
HTTP协议-请求报文
用httpwatch查看访问一个网站的响应情况。敲入一个网址后,浏览器向服务器发出请求。
页面中的图片、js、css在单独的请求中。
GET /index.html HTTP/1.1表示向服务器用GET方式请求首页,使用HTTP/1.1协议
Accept-Encoding gzip, deflate表示浏览器支持gzip、deflate两种压缩算法
Accept-Language zh-cn 表示浏览器支持的语言,很多进入后自动就是中文界面的国际网站就是通过读取这个头的值实现的。
Connection Keep-Alive。一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,
然后如果浏览器或者服务器在其头信息加入了Connection:keep-alive,则TCP连接在发送后将仍然保持打开状态,
于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。
Cookie是浏览器向服务器发送和当前网站关联的Cookie,这样在服务器端也能读取浏览器端的Cookie了。
User-Agent为浏览器的版本信息。通过这个信息可以读取浏览器是IE还是FireFox、支持的插件、.Net版本等。
TIdHTTP get参数带中文解决方法--请求报文的更多相关文章
- Jmeter: PATCH方法无法发送参数的暂时解决方法
Jmeter: PATCH方法无法发送参数的暂时解决方法 最近在做API测试,前面的GET这些HTTP Request方法都无压力,顺利解决. 但碰到PATCH方法时,发现无法通过. 通过对比,发现P ...
- vi/vim输入中文乱码,无法输入中文解决方法
vi/vim输入中文乱码,无法输入中文解决方法 编辑/etc/vimrc或者/etc/virc,加入以下内容即可 set encoding=UTF-8 set langmenu=zh_CN.UTF-8 ...
- Struts2中action接收中文参数为乱码解决方法
老实说,中文乱码问题是每个程序员会经常遇到的问题,而且也是一个很头疼的问题.网上很多关于解决中文乱码的帖子,看几个之后你会发现大都是一样的.但是我们照着做,却还是无法解决乱码问题.我也是看了好多帖子, ...
- 资料汇总--Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格)【转】
开发环境:Tomcat9.0 在使用Ajax实现Restful的时候,有时候会出现无法Put.Delete请求参数无法传递到程序中的尴尬情况,此时我们可以有两种解决方案:1.使用地址重写的方法传递参数 ...
- URL传参时中文参数乱码的解决方法
URL传参时,中文参数乱码的解决: 今天在工作中遇到了这样的一个问题,在页面之间跳转时,我将中文的参数放入到url中,使用location进行跳转传参,但是发现接收到的参数值是乱码.我的代码是这样写的 ...
- Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格)
本文装载自:http://blog.csdn.net/u012737182/article/details/52831008 感谢原文作者分享 开发环境:Tomcat9.0 在使用Ajax实现R ...
- JS获取URL中文参数乱码的解决方法
浏览器URL参数值中带有汉字字符,在接收时直接获取会出现乱码,下面是解决方法(传递前不需要encodeURI): function getUrlVars() { var vars = [], hash ...
- Django输入 中文参数保存异常解决方法
WEB页面输入中文后保存,出现异常 cmd.exe打印如下信息: UnicodeEncodeError: 'ascii' codec can't encode characters in po ...
- jQuery Ajax传值给Servlet,在Servlet里Get接受参数乱码的解决方法
最近在学jquery ui,在做一个小功能的时候需要将前台的值获取到,通过Ajax传递给Servlet,然后再在返回数据结果,但是在Servlet接受参数的时候,通过后台打印,发现接受乱码,代码示例如 ...
随机推荐
- day12 max min zip 用法
max min ,查看最大值,最小值 基础玩法 l = [1,2,3,4,5] print(max(l)) print(min(l)) 高端玩法 默认字典的取值是key的比较 age_dic={'al ...
- 04 Zabbix4.0系统配置触发器trigger
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 04 Zabbix4.0系统配置触发器trigger 请点击查看Zabbix3.0.8版本trig ...
- Ubuntu中让归档管理器支持rar和7z格式
由于版权等原因,Linux系统不能直接支持rar和7z,需要手动安装第三方工具. rar支持 sudo apt install unrar 7z支持 sudo apt install p7zip-fu ...
- 【洛谷P4054】计数问题
题目大意:维护 N*M 个点,每个点有三个权值,支持单点修改,查询矩形区间内权值等于某个值的点的个数. 题解:矩阵可以看成两个维度,权值为第三个维度,为一个三维偏序维护问题.发现第三维仅仅为单点修改和 ...
- asp.net C#压缩打包文件例子
/// <summary> /// 压缩和解压文件 /// </summary> public class ZipClass { /// <summary> /// ...
- 有趣的async
在项目的开发过程中,同步异步是一个很重要的概念.但是在js中,又会有稍微的不同. 依据微软的MSDN上的解说: (1) 同步函数:当一个函数是同步执行时,那么当该函数被调用时不会立即返回,直到该函数所 ...
- 基本数据类型对象包装(Integer等)
基本数据类型 包装类 byte Byte short Short int Integer long Long boolean Boolean float ...
- Solr各个版本重大变化之安装方式【请别违背规律】
这里主要讲安装方式的变化 4.x~5.x的变化 这是4.x的安装方式,大家都熟知,在我看来未免繁琐了一点. 或许官方也感觉繁琐了,于是5.x有个最大的改变.↓ 现在Solr是一个独立的服务器 什么叫S ...
- ActiveMQ集群简单测试+eclipse Zookeeper 插件 + 负载均衡
ActiveMQ集群搭建好之后,接下来就该测试一下了. 一.先安装Zookeeper 的eclipse插件吧. 1. 打开 eclipse, Help -> Install New Softwa ...
- Codeforces Round #510 (Div. 2)(B)
传送门:Problem B https://www.cnblogs.com/violet-acmer/p/9682082.html 题意: 如果可以通过喝果汁将维生素A,B,C全部摄取,求最小花费,如 ...