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';

Delphi中的IdHTTP.Head是一个函数,用于获取指定URL的头部信息。它可以通过发送一个HTTP的HEAD请求来获取响应的头部信息,而不获取整个响应的主体内容。 使用IdHTTP.Head函数,我们可以获取一些有关指定URL的重要信息,例如响应状态码、响应类型、文件大小、最后修改时间等。这些信息对于处理网络请求和下载文件等操作非常有用。 要使用IdHTTP.Head函数,首先需要创建一个IdHTTP组件的实例,并在其上设置一些必要的属性,例如URL、UserAgent(用户代理)等。然后,调用Head函数并传递URL作为参数,该函数将返回一个包含响应头部信息的字符串。 下面是一个示例代码,展示了如何使用DelphiIdHTTP.Head函数来获取指定URL的头部信息: ```delphi var IdHTTP: TIdHTTP; Response: string; begin IdHTTP := TIdHTTP.Create(nil); try IdHTTP.Request.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'; Response := IdHTTP.Head('https://example.com'); // 在Response中包含了指定URL的头部信息,可以根据需要进行解析和处理 finally IdHTTP.Free; end; end; ``` 在上述示例中,我们创建了一个TIdHTTP对象,并设置了UserAgent属性为常见的浏览器代理。然后,调用Head函数传递了一个示例URL。函数返回的Response变量就包含了该URL的头部信息。 通过使用DelphiIdHTTP.Head函数,我们可以方便地获取URL的头部信息,从而能够更好地处理相关网络请求和文件下载等操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值