HttpClient get请求返回Content-Length=0时候,获取该参数值

 在使用HttpClient的过程中,可能请求的数据为空或者参数不对,服务器返回的内容导致Content-Length=0

此时,如果程序中直接拿到结果以正常处理,一般在转换为Json字符串处理,代码容易出错

如果在此加入如下,拿到Content-Length的长度,为0则不处理,有长度则继续执行

错误写法

HttpResponse httpResponse = httpClient.execute(request);




   HttpEntity entity = response.getEntity();
          
     
   String resultStr = EntityUtils.toString(new GzipDecompressingEntity(entity));

 

 

修改后


HttpResponse httpResponse = httpClient.execute(request);

Header header = httpResponse.getFirstHeader("Content-Length");

int fileLength = Integer.valueOf(header.getValue());

if(fileLength<1){

//TODO   你的错误处理
 return;
}



HttpEntity entity = httpResponse .getEntity();

String resultStr = EntityUtils.toString(new GzipDecompressingEntity(entity));


这样可以避免代码的错误处理,增强代码的容错性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用\[2\]:HTTP/1.1 400 Illegal character CNTL=0x10 \[Content-Type: text/html;charset=iso-8859-1, Content-Length: 70, Connection: close\] ResponseEntityProxy{\[Content-Type: text/html;charset=iso-8859-1,Content-Length: 70,Chunked: false\]} 说明了这是一个HTTP响应的状态行和头部信息。其中,状态行表示请求的处理结果,400表示客户端发送的请求有错误。头部信息包含了响应的内容类型(Content-Type)、内容长度(Content-Length)等信息。\[2\] 问题: ResponseEntityProxy{\[Content-Type: text/html,Content-Length: 4,Chunked: false\]} 是什么意思? 回答: ResponseEntityProxy{\[Content-Type: text/html,Content-Length: 4,Chunked: false\]} 是一个响应实体的代理对象,其中包含了响应的内容类型(Content-Type)为text/html,内容长度(Content-Length)为4,以及是否分块传输(Chunked: false)等信息。 #### 引用[.reference_title] - *1* *3* [接口自动化:HttpClient + TestNG + Java(二) - 第一个接口测试:get请求](https://blog.csdn.net/weixin_39721924/article/details/114456160)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【obs上传excel失败问题修复】Bad Message 400 reason: Illegal character CNTL=0x10](https://blog.csdn.net/carterslam/article/details/120025165)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值