delphi idhttp.get 发送带有中文的网站乱码问题

如题:delphi idhttp.get 发送一个带有中文用户名的 网址,通过抓包工具发现会出现乱码问题

 

原因:

网址使用URL编码(%XX格式)非ASCII的字符

 

解决方法:
相关介绍可以参考这里: 
既然你使用了idhttp来发送请求, 那么可以使用tidurl来进行url转换, 代码如下:

uses
  idURI;

...


     IdHTTP1.Get(TIdURI.URLEncode('你的URL'));

 

另加 TIdHttp 的一个用法问题

如果服务器不接收json类型 则不能采用  http.Request.ContentType := 'application/json'这种方式

应采用如下代码:

 l_IdHttp.Request.ContentType := 'application/x-www-form-urlencoded';

你可能感兴趣的:(编程语言)