快递100 java 示例API 返回结果乱码 之替代方案

快递100官方给出的java 版示例API无法使用,返回结果全是乱码,只能自己写一个。

采用httpClient,不采用官方给出的URL方式。返回结果编码方式为UTF-8。

Java代码 复制代码 收藏代码
Java代码 复制代码 收藏代码
  1. import java.io.InputStream;
  2. import java.io.InputStreamReader;
  3. import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
  4. import org.apache.commons.httpclient.HttpClient;
  5. import org.apache.commons.httpclient.methods.GetMethod;
  6. import org.apache.commons.httpclient.params.HttpMethodParams;
  7. /**
  8. * kuaidi100 java版API使用
  9. * @author backkom
  10. * @param
  11. */
  12. public class Uod {
  13. public static void main(String[] args) {
  14. String url = "http://api.kuaidi100.com/api?id=***&com=debangwuliu&nu=111111&show=2&muti=1&order=asc";
  15. String result = null;
  16. try {
  17. HttpClient httpClient = new HttpClient();
  18. GetMethod getMethod = new GetMethod(url);
  19. httpClient.getParams().setParameter(
  20. HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
  21. getMethod.getParams().setParameter("http.method.retry-handler",
  22. new DefaultHttpMethodRetryHandler());
  23. int statusCode = httpClient.executeMethod(getMethod);
  24. if (statusCode == 200) {
  25. StringBuffer temp = new StringBuffer();
  26. InputStream in = getMethod.getResponseBodyAsStream();
  27. BufferedReader buffer = new BufferedReader(
  28. new InputStreamReader(in, "UTF-8"));
  29. for (String tempstr = ""; (tempstr = buffer.readLine()) != null;)
  30. temp = temp.append(tempstr);
  31. buffer.close();
  32. in.close();
  33. result = temp.toString().trim();
  34. System.out.println(result);
  35. } else {
  36. System.err.println((new StringBuilder("Can't get page:"))
  37. .append(url).append("#").append(
  38. getMethod.getStatusLine()).toString());
  39. }
  40. } catch (Exception e) {
  41. e.printStackTrace();
  42. }
  43. }
  44. }

转载请注册出处【http://bakcom.iteye.com/】。有此问题的朋友,直接使用即可,等官方给出正确的示例API,黄花菜都凉了...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值