在访问抖音服务商平台时,返回的中文数据乱码,怎么转码都还是乱码,下面是乱码代码
String uri = "https://open.douyin.com/goodlife/v1/shop/poi/query/";
Map<String, String> requestParam = new HashMap<>();
requestParam.put("account_id", accountId);
requestParam.put("page", "1");
requestParam.put("size", "50");
String result = "";
System.out.println(getToken());
try {
result = Request.Get(uri
+ "?"
+ RequestUtil.mapToGetParam(requestParam))
.addHeader("access-token", getToken())
.addHeader("Content-Type", "application/json; charset=UTF-8")
.execute().returnContent().asString();
} catch (Exception e) {
throw new CustomerException("获取抖音店铺失败", e);
}
改成了下面代码就没问题,具体原因有待探究,记录一下
/**
* 获取抖音店铺
*
* @return
*/
public List<DouyinStoreRes> getDouyinStoreList(String accountId) {
String url = "https://open.douyin.com/goodlife/v1/shop/poi/query/";
// 创建HttpClient对象
try {
HttpClient client = HttpClientBuilder.create().build();
// 创建URI对象,并添加参数
URIBuilder builder = new URIBuilder(url);
// builder.setHost(url);
builder.setParameter("account_id", accountId);
builder.setParameter("page", "1");
builder.setParameter("size", "50");
URI uri = builder.build();
// 创建GET请求对象
HttpGet request = new HttpGet(uri);
request.setHeader("access-token", getToken());
request.setHeader("Content-Type", "application/json");
// 发送GET请求
HttpResponse response = client.execute(request);
response.setHeader("Content-Type", "application/json; charset=UTF-8");
// 获取响应代码
int statusCode = response.getStatusLine().getStatusCode();
System.out.println("Response Code: " + statusCode);
// 获取响应内容
String content = EntityUtils.toString(response.getEntity());
System.out.println("Response Content: " + content);
} catch (Exception e) {
throw new CustomerException("获取抖音店铺失败", e);
}
return null;
}