OK HTTP接收返回值出现乱码

 

特点

 

应用场景-->业务|技术 OK HTTP

 

优势和劣势

 

要解决的问题 使用OK HTTP接收返回值时出现乱码

 

主要设计原理

 

核心思想和思路

 

关键的设计细节

 

已有的实现和对比 下文代码中体现

 

尝试使用或者做demo 已解决

 

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://restapi.amap.com/v3/config/district?subdistrict=1&showbiz=false&extensions=all&key=d071998c784bc9aacc90f2e056533385&s=rsv3&output=json&level=district&keywords=440604&callback=jsonp_305770_&platform=JS&logversion=2.0&appname=https%3A%2F%2Flbs.amap.com%2Fapi%2Fjavascript-api%2Fexample%2Fdistrict-search%2Fcity-drop-down-list&csid=9A7EAFBD-28A1-4BBA-86DE-90C828BCDF2B&sdkversion=1.4.15")
  .get()
  .addHeader("User-Agent", "PostmanRuntime/7.15.2")
  .addHeader("Accept", "*/*")
  .addHeader("Cache-Control", "no-cache")
  .addHeader("Postman-Token", "8557ce59-1852-4484-a678-2ef141efb40f,57fc817c-7afc-40e9-a31e-039367462832")
  .addHeader("Host", "restapi.amap.com")
  .addHeader("Accept-Encoding", "gzip, deflate")
  .addHeader("Connection", "keep-alive")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

最近在做高德地图的调研,需要爬下某个城市下的区县的边界点的经纬度,在用postman测试接口的时候遇到两个问题

一:接口直接用postman测发现不能成功调用,因为是开放的,以为可以直接调用

解决办法:在高德开放平台上建立项目,然后创建自己的key,注意创建key时要选择WEB服务

二:在用Java的OK HTTP调用时,出现返回值乱码的情况

解决:删除.addHeader("Accept-Encoding","gzip,deflate");

因为浏览器在传输数据量比较大的时候会采用压缩的方式,但接收的时候没有解压所以就会出现乱码。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值