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

2023-11-02

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

 

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

 

 

import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
/**
     * kuaidi100 java版API使用
     * @author backkom
     * @param 
*/
public class Uod {
 public static void main(String[] args) {
  String url = "http://api.kuaidi100.com/api?id=***&com=debangwuliu&nu=111111&show=2&muti=1&order=asc";
  String result = null;
  try {
   HttpClient httpClient  = new HttpClient();
   GetMethod getMethod = new GetMethod(url);
   httpClient.getParams().setParameter(
     HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
   
   getMethod.getParams().setParameter("http.method.retry-handler",
     new DefaultHttpMethodRetryHandler());
   int statusCode = httpClient.executeMethod(getMethod);
   if (statusCode == 200) {
    StringBuffer temp = new StringBuffer();
    InputStream in = getMethod.getResponseBodyAsStream();
    BufferedReader buffer = new BufferedReader(
      new InputStreamReader(in, "UTF-8"));
    for (String tempstr = ""; (tempstr = buffer.readLine()) != null;)
     temp = temp.append(tempstr);
    buffer.close();
    in.close();
    result = temp.toString().trim();
    System.out.println(result);
   } else {
    System.err.println((new StringBuilder("Can't get page:"))
      .append(url).append("#").append(
        getMethod.getStatusLine()).toString());
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

 

 

 

 

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

 

手机扫一扫,欢迎关注公众号

关注程序员成长

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

快递100 java 示例API 返回结果乱码 之替代方案 的相关文章

随机推荐

  • C语言实现顺时针螺旋的顺序输出矩阵中元素

    给定一个 m 行 n 列的矩阵 请按照顺时针螺旋的顺序输出矩阵中所有的元素 从 0 0 位置开始 具体请参见下图 include
  • c++运算符、继承、多继承中构造函数和析构函数顺序、内部类和局部类

    一 自增自减运算符 单目运算符 正号 负号 开始代码 include
  • 万向肖风最新演讲:区块链应用模式的终极猜想

    互联网的应用解放了消费者 区块链的应用解放了开发者 解放开发者就是解放创业者 本文谨代表作者个人观点 不代表火星财经立场 该内容旨在传递更多市场信息 不构成任何投资建议 火星财经APP 微信 hxcj24h 一线消息 10月27日 由万向区
  • 5G时代三兄弟,NB-IoT到底有多牛逼

    5G时代的诱惑 犹如隔壁家厨房的气味 间歇性地飘过 刺激着大家的神经 然而对于工业而言 这个气味的信号实在是太微弱了 在2020年以前 5G的大规模应用 大家都不抱希望 没有设备制造商会认为5G能够迅速布置下去 即使是相关标准进展神速 6
  • fork函数讲解及代码分析

    fork 函数 fork 的基础知识 父进程通过调用fork函数来创建一个新的运行的子进程 父进程和子进程之间最大的区别就是PID不同 1 在父进程中 fork返回新创建子进程的PID 2 在子进程中 fork返回0 3 如果出现错误 fo
  • 自动控制原理(四)

    根轨迹分析法 概述 根轨迹的概念 根轨迹的绘制 基本规则和步骤 特征方程 确定根轨迹的方向 起点和终点 根轨迹的分支数 根轨迹的连续性和对称性 实轴上根轨迹的分布 根轨迹的渐近线 根轨迹的分离 会合点 根轨迹与虚轴的交点 根轨迹的入射角和出
  • 第十一章从零玩转系列之微信支付实战PC端我的订单接入退款取消接口

    一 前言 欢迎来到本期的博客 本期将会讲解如何接入微信支付的退款和取消订单接口 本篇文章将是PC端的最后一个文章啦 之后将会是UniApp的篇章感受移动端的诱惑吧 本次为前端知识点如果不懂前段可以去仓库直接copy出来使用 如果有什么问题可
  • android ----- goldfish内核编译

    学习总纲 Android10 硬件抽象层 HAL 概要介绍和学习计划 编译环境 android 版本 android 10 0 0 r41 架构 aosp x86 64 eng 内核分支 android goldfish 4 14 gchi
  • 反射相关

    转载请注明出处 亲class hello public static void main String args Class
  • warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失...

    问题 Visual Studio 出现warning C4819 该文件包含不能在当前代码页 936 中表示的字符 请将该文件保存为 Unicode 格式以防止数据丢失 解决方案 1 修改字符编码格式 推荐 Visual Studio提供高
  • QT中使用嵌入窗口

    文章目录 需求 实现 1 在主界面中添加一个 treeWidget 2 响应树形控件点击事件 添加右侧布局 3 效果 4 改进 固定右侧布局的高度 多个右侧布局的切换 使用UI文件 第一种非常简单 添加新文件时 选择 Qt设计师界面类 第二
  • js 运算符

    JS 运算符 要进行各种各样的运算 就要使用不同的运算符号 1 算术运算符 A 10 20 A 10 20 A 10 20 A 10 20 1 取余运算符 两个数相除 取余数 A 10 3 A 1 如果余数不为0 则两个不能整除 A 10
  • linux的ping命令含义,Linux ping命令详解

    Linux系统的ping命令是常用的网络命令 它通常用来测试与目标主机的连通性 基于IMCP协议 常见命令参数 q 不显示任何传送封包的信息 只显示最后的结果 n 只输出数值 R 记录路由过程 c count 总次数 i 时间间隔 t 存活
  • 数字森林:无人机航测技术在林业调查中的应用

    林业调查是林业工作的基础 对于森林资源的管理 规划 保护 经济发展和农业种植等方面都具有重要的意义 传统林业调查主要依赖人工进行 存在工作效率低 数据精度低 数据分析困难 受地形限制 无法实时监测等缺陷 随着科技的不断发展 无人机作为一种高
  • Spring学习—Spring中定时器实现

    Spring学习 Spring中定时器实现 在一些工作需要使用到定时器 Spring很好的集成了定时器的功能 在Spring 中使用Quartz 本文介绍Spring3 0以后自主开发的定时任务工具 spring task 可以将它比作一个
  • 在程序里面执行system(“cd /某个目录“),为什么路径切换不成功?

    粉丝提问 彭老师 问下 在程序里面执行system cd 某个目录 这样会切换不成功 为啥呢 实例代码 粉丝的疑惑是明明第10行执行了cd media操作 为什么12行执行的pwd gt test2 txt 结果提示的仍然是当前目录 这是一
  • linux 配置多个tomcat同时运行

    1 Linux系统下怎样配置多个Tomcat同时运行呢 首先修改变量为第一个tomcat 然后修改第二个tomcat启动的脚本 工程1 tomcat1 export CATALINA BASE data server tomcat expo
  • 10003---BootStrap网格系统

    Bootstrap 提供了一套响应式 移动设备优先的流式网格系统 随着屏幕或视口 viewport 尺寸的增加 系统会自动分为最多12列 什么是网格 Grid 摘自维基百科 在平面设计中 网格是一种由一系列用于组织内容的相交的直线 垂直的
  • edgewin10无法安装_win10内置Edge浏览器遇到“您未安装FLASH控件”如何解决

    win10系统在使用Edge浏览器时可能会遇到 您未安装FLASH控件 的提示 如下图所示 这到底是怎么回事 一方面可能是你的电脑确实没有安装FLASH插件 另一方面可能是由于浏览器禁止的FLASH插件的运行 如果没安装就下载 要是还是无法
  • 快递100 java 示例API 返回结果乱码 之替代方案

    快递100官方给出的java 版示例API无法使用 返回结果全是乱码 只能自己写一个 采用httpClient 不采用官方给出的URL方式 返回结果编码方式为UTF 8 import java io InputStream import j