关于快递查询接口的实现
昨天做的公司项目需要用到快递查询的接口,我在网上找了挺多的资料,后来自己整理了一下,具体的实现步骤如下(我使用的是聚合科技的快递接口):
1.先在聚合科技注册一个账号,然后免费申请使用这个接口,就可以得到一个分配给你的key
2.点击个人中心->数据中心->我的接口->接口,就可以查看API文档、实例代码。
3.点击个人中心->数据中心->我的接口->测试,在提示的地方输入真实正确的库快递信息就可以查到物流信息。
4.查询成功后可以在该页面的请求详情中看到自己的key:
5.最后是根据给出的实例代码就可以在项目中使用了。
这是我自己整合的一些重要参数:
名称 |
类型 |
必填 |
说明 |
com |
String |
是 |
需要查询的快递公司编号 |
no |
String |
是 |
需要查询的订单号 |
key |
String |
是 |
应用APPKEY(应用详细页查询) |
dtype |
String |
否 |
返回数据的格式,xml或json,默认json |
SenderPhone |
Int |
否 |
发件人的手机后四位(顺丰快递查询时要提供发件人或者收件人的其中一个) |
ReceiverPhone |
Int |
否 |
收件人的手机号码后四位(顺丰快递查询时要提供发件人或者收件人的其中一个) |
接口地址 |
Url |
是 |
http://v.juhe.cn/exp/index |
请求方式 |
Get/post |
||
支持格式 |
Json/xml |
还有一些快递公司的编号:
快递公司 |
快递公司编号 |
顺丰 |
sf |
申通 |
sto |
圆通 |
yt |
汇通 |
ht |
中通 |
zto |
EMS |
ems |
韵达 |
yd |
实例代码如下:
(使用 net.sf.json.JSONObject包是需要导入一些jar包,不然会报错,这个在百度上搜索会有一大堆的,就不放上来了。)
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;import net.sf.json.JSONObject;public class Test {/***常用快递调用示例代码 - 聚合数据*在线接口文档:http://www.juhe.cn/docs/43**/public static final String DEF_CHATSET = "UTF-8";public static final int DEF_CONN_TIMEOUT = 30000;public static final int DEF_READ_TIMEOUT = 30000;public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";//配置您申请的KEYpublic static final String APPKEY ="你申请的key";//1.常用快递查询APIpublic static void getRequest1(){String result =null;String url ="http://v.juhe.cn/exp/index";//请求接口地址Map params = new HashMap();//请求参数params.put("com","快递公司编号");//需要查询的快递公司编号params.put("no","订单号");//需要查询的订单号params.put("key",APPKEY);//应用APPKEY(应用详细页查询)params.put("dtype","json");//返回数据的格式,xml或json,默认jsontry {result =net(url, params, "GET");JSONObject object = JSONObject.fromObject(result);if(object.getInt("error_code")==0){System.out.println(object.get("result"));}else{System.out.println(object.get("error_code")+":"+object.get("reason"));}} catch (Exception e) {e.printStackTrace();}}//2.快递公司编号对照表public static void getRequest2(){String result =null;String url ="http://v.juhe.cn/exp/com";//请求接口地址Map params = new HashMap();//请求参数try {result =net(url, params, "GET");JSONObject object = JSONObject.fromObject(result);if(object.getInt("error_code")==0){System.out.println(object.get("result"));}else{System.out.println(object.get("error_code")+":"+object.get("reason"));}} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) {(new Test()).getRequest1();(new Test()).getRequest2();}/**** @param strUrl 请求地址* @param params 请求参数* @param method 请求方法* @return 网络请求字符串* @throws Exception*/public static String net(String strUrl, Map params,String method) throws Exception {HttpURLConnection conn = null;BufferedReader reader = null;String rs = null;try {StringBuffer sb = new StringBuffer();if(method==null || method.equals("GET")){strUrl = strUrl+"?"+urlencode(params);}URL url = new URL(strUrl);conn = (HttpURLConnection) url.openConnection();if(method==null || method.equals("GET")){conn.setRequestMethod("GET");}else{conn.setRequestMethod("POST");conn.setDoOutput(true);}conn.setRequestProperty("User-agent", userAgent);conn.setUseCaches(false);conn.setConnectTimeout(DEF_CONN_TIMEOUT);conn.setReadTimeout(DEF_READ_TIMEOUT);conn.setInstanceFollowRedirects(false);conn.connect();if (params!= null && method.equals("POST")) {try {DataOutputStream out = new DataOutputStream(conn.getOutputStream());out.writeBytes(urlencode(params));} catch (Exception e) {// TODO: handle exception}}InputStream is = conn.getInputStream();reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));String strRead = null;while ((strRead = reader.readLine()) != null) {sb.append(strRead);}rs = sb.toString();} catch (IOException e) {e.printStackTrace();} finally {if (reader != null) {reader.close();}if (conn != null) {conn.disconnect();}}return rs;}//将map型转为请求参数型public static String urlencode(Map<String,Object>data) {StringBuilder sb = new StringBuilder();for (Map.Entry i : data.entrySet()) {try {sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");} catch (UnsupportedEncodingException e) {e.printStackTrace();}}return sb.toString();}}
关于快递查询接口的实现相关推荐
- thinkphp 助手函数url不生成https_如何用ThinkPHP框架写一个快递查询接口
ThinkPHP是php程序员们经常使用的框架之一,运用框架来开发网站无疑减轻了我们代码量,加快了我们的开发速度,框架底层封装的方法和函数使用起来简直不能太爽.今天给大家总结一个小案例,如何实现一个快 ...
- 企业如何挑选和使用快递查询接口?
电商订单履行的过程中充满了英文首字母缩写词.从WMS到FBA再到ERP,人们常常会感觉到零售商们坐在一碗字母汤里游泳!在这些行话中,有一个缩写词可以将它们连接在一起那就是:API. API可以帮助线上 ...
- 快递100快递实时快递查询接口API案例代码
一.实时快递查询接口 1.1 请求地址 https://poll.kuaidi100.com/poll/query.do 1.2 请求类型 post 1.3 输入参数 请求参数(header) 名称 ...
- PHP快递查询接口api和快递单号智能判断PHP代码
如果电商企业想将业务提升到一个新的水平,则应考虑接入第三方快递查询API接口.快递查询API接口提供了很多好处,并且可以为电商企业.微商带来强大的竞争优势.因为相对于独立一家家对接各个快递公司的服务接 ...
- python全国快递查询接口和电子面单打印接口,一次接入全国快递公司
快递100python快递查询接口-一次性接入顺丰.京东.申通.圆通.韵达.中通.天天.百世.邮政.EMS等主流快递公司,只需要复制源码,并将部分参数修改为您的账户参数即可. 此python接口dem ...
- php快递查询接口,一次接入顺丰、京东、申通、圆通、韵达、中通、天天、百世、邮政、EMS等主流快递公司
快递100php快递查询接口-一次性接入顺丰.京东.申通.圆通.韵达.中通.天天.百世.邮政.EMS等主流快递公司,只需要复制源码,并将部分参数修改为您的账户参数即可. 此php接口demo目录内容包 ...
- 快递查询接口 蛮不错
今天没事发现一个快递查询接口 蛮不错 支持顺丰.申通.圆通等各大快递商和物流公司 口才太差了 随便写了下大家不要见笑. 引用web服务 http://webservice.36wu.com/expre ...
- 快递100开放快递查询接口
http://www.kuaidi100.com/query?type=快递运营商名&postid=快递单号 type支持的快递公司及参数说明:https://cdn.kuaidi100.co ...
- 免费的快递查询接口,不需要key
免费的快递查询接口 1.第一个接口只需要快递单号就可以查询. https://sp0.baidu.com/9_Q4sjW91Qh3otqbppnN2DJv/pae/channel/data/async ...
- 免费快递查询接口不限量对接
快递查询接口(物流跟踪接口)http://www.kdniao.com/api-all 是快递鸟为用户提供的定制化服务,用户可将订单信息通过快递鸟订阅给快递公司,快递公司更新轨迹后,快递鸟将实时转换成 ...
最新文章
- Eclipse使用Tomcat发布项目时出现YadisException异常解决方案
- GitHub 的微服务架构设计与实践
- opencv-python处理图片的一些列操作之几何变换
- 面向程序员的数据挖掘指南: 第二章 从推荐系统开始
- 近期GitHub上最热门的开源项目(附链接)
- 推荐算法--利用用户行为数据(02)
- 吴恩达《机器学习》学习笔记九——神经网络相关(1)
- python重定向网页_【Python网页分析】httplib库的重定向处理
- html对话框跳转页面,html页面的简单对话框(alert, confirm, prompt)
- CEF使用的几个注意点
- 前端基础知识(持续更新中)
- vf程序设计与c语言,周四的C语言和VF,这些你有了么?
- LNMP详解(十二)——Nginx URL重写实战
- 读掘金小册组件精讲总结1
- java 强制转换double_JAVA强制类型转换
- 大学物理公式和名词整理
- 物联网技术概论:第2章
- Goole Tag Manager 介绍
- 计算机公式怎么计算合计,excel表格函数数据求和公式是什么-Excel中怎么用公式计算合计...
- c语言机票座位预定系统_c语言编写~~~机票座位预订系统
热门文章
- 2022年最新广播电视广告报价(共23份)
- Jmockit使用详解之Mocking
- VirtulBox安装虚拟机(鼠标点击时)0x00000000指令引用的0x00000000内存该内存不能为written错误解决方案...
- html div边框宽度,边框的宽度
- 如何设置苹果手机铃声
- 【Tidy2】Notepad++的html格式化插件
- excel表格打印每页都有表头_Excel打印时怎么让每一页都包括表头?
- java入门拼图小游戏_【java】JavaFX从零开始实现拼图小游戏
- 重积分的计算机应用开题报告,重积分的数值计算【信息科学与技术专业】【毕业设计 文献综述 开题报告】.docx...
- 2021-08-16