各种快递查询--Api接口
来源:互联网 发布:minecraft优化 编辑:程序博客网 时间:2024/04/29 15:38
背景
这篇博客从发布到现在已经很久了,根据我对这篇博客的统计及数据观察,对快递查询接口的使用的人还是比较多的,所以我准备把博客重新梳理一下并附加上一下代码。
使用快递的接口,之前是为了做公众号,用户输入订单号,微信后台进行查询并反馈给微信用户,可以收到关于此单号的物流信息情况,以此目的才写了这篇博客,希望可以帮助到大家。
若有转载,请注明来自Coolspan: http://blog.csdn.net/qxs965266509,谢谢大家的支持.
快递查询接口
提供开发者平台查询快递接口的公司有:
- 快递鸟
- Trackingmore
- 快递网API
- 快递100
快递鸟,支持全球400余家快递物流公司接口,请求Api接口是不限制次数的哟,并且永久免费
如果你的请求次数很少可以考虑其他家,反之,请求量大,快递鸟免费Api就是很不错的选择。
点击免费申请快递鸟APIKey授权才能做对接,申请后加他们技术支持QQ群很快就能对接
下面是以快递100提供的开发者接口进行展开,如有错误,请指正并及时修改。
首先,申请一个快递100的账号;
然后进入http://www.kuaidi100.com/openapi/界面点击免费申请,免费申请的接口每天接口的请求次数都是有限制的,如果不想被限制,可能就得考虑商务合作或者另求它处。
按照申请流程一步步做完后,静等审核通过。
调用频率选择 2000次/每天,邮箱必须正确,因为审核通过后会给你发送邮件,邮件内容会有请求接口使用的key密钥,不通过会告知你具体什么原因导致不通过。
使用
案例分为3个
- 使用的是Chrome的postman插件进行Api测试调用
- 使用Nodejs环境进行快递查询
- 在Android使用快递接口查询
打开http://www.kuaidi100.com/openapi/api_post.shtml查看Api接口定义文档,了解url、请求参数及响应数据。
主要对运单查询API进行讲解测试.
API URL 所支持的快递公司及参数说明
支持的国际类快递及参数说明
使用postman查询
填写请求url及请求参数,下方就是响应的数据,看效果:
Nodejs查询订单
请求:
/** * Created by Coolspan on 2016/5/18. */var ajax = require("./ajax.js")ajax.ajax({ type: "POST", url: "http://api.kuaidi100.com/api", data: { id: "28a3e64ebad725d5", com: "tiantian", nu: "666509962436", show: 0, muti: 1, order: "desc" }, success: function (data) { var orderInfo = JSON.parse(data); console.log(orderInfo) }})
ajax.js –>
var https = require("https");var http = require("http");var Url = require("url");var querystring = require('querystring');// 默认值var defaultSetting = { // 如果返回false可以取消本次请求 beforeSend: function (req) { }, complete: function (req) { }, data: '', // Object, String dataType: 'JSON', error: function () { }, headers: {}, // {k:v, ...} statusCode: {}, success: function (data) { }, timeout: 10, type: 'GET', // GET, POST url: "www.baidu.com"};/** * */function ajax(settings) { // ajaxlbs.js(settings) if (typeof settings === "object") { // 处理默认值继承 // todo ... for (key in defaultSetting) { if (settings[key] == null) { settings[key] = defaultSetting[key]; } } } var params = Url.parse(settings.url, true); // params 解析出来的参数如下 // { // "protocol":"http:", // "slashes":true, // "host":"localhost:3000", // "port":"3000", // "hostname":"localhost", // "href":"http://localhost:3000/?d=1", // "search":"?d=1", // "query":{"d":"1"}, // "pathname":"/", // "path":"/?d=1" // } var options = { host: params.hostname, port: params.port || 80, path: params.path, method: settings.type }; if (settings.data != null) { options.path += "?" for (var key in settings.data) { options.path = options.path + "&" + key + "=" + settings.data[key]; } console.log(options.path); } var httpUnity = http; if (params.protocol == "https:") { options.port = 443; var httpUnity = https; } var req = httpUnity.request(options,function (res) { var data = ''; res.on('data',function (chunk) { data += chunk; }).on('end', function () { if (settings.dataType === "json") { try { data = JSON.parse(data); } catch (e) { data = null; } } settings.success(data); settings.complete(req); }); }).on('error', function (e) { settings.error(e); });// if (typeof settings.beforeSend === "function") {// if (!settings.beforeSend(req)) {// settings.complete(req);// req.end();// return false;// }// } if (settings.type === "POST") { var dataStr = querystring.stringify(settings.data); req.setHeader("Content-Length", dataStr.length); req.write(dataStr); } req.setTimeout(settings.timeout); req.end();}exports.ajax = ajax;
ps: ajax.js和请求接口的代码都是放在同一层目录的,如果目录接口不对,请修改require中的路径。
结果如图所示:
Android查询快递
使用的网络库是Google‘Volley’
package cn.coolspan.andframe1;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import com.android.volley.AuthFailureError;import com.android.volley.Request;import com.android.volley.Response;import com.android.volley.VolleyError;import com.android.volley.toolbox.StringRequest;import com.android.volley.toolbox.Volley;import java.util.HashMap;import java.util.Map;/** * Coolspan */public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { next(); } }); } private void next() { StringRequest stringRequest = new StringRequest(Request.Method.POST, "http://api.kuaidi100.com/api", new Response.Listener<String>() { @Override public void onResponse(String response) { } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }) { @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> params = new HashMap<String, String>(); params.put("id", "28a3e64ebad725d5"); params.put("com", "tiantian"); params.put("nu", "666509962436"); params.put("show", "0"); params.put("muti", "1"); params.put("order", "desc"); return params; } }; Volley.newRequestQueue(this).add(stringRequest); }}
ps:如有其它快递接口网站想借此介绍,请左边QQ我
转载请注明,来自Coolspan:http://blog.csdn.net/qxs965266509
推荐同类文章
各种快递查询Api接口(快递鸟)
各种电子面单-Api接口(顺丰、快递鸟、菜鸟)
推荐Android热修复博客
Android-App增量更新的使用姿势
Android-FixBug热修复框架的使用及源码分析(不发版修复bug)
Alibaba-Dexposed Bug框架原理及源码解析
Alibaba-Dexposed框架在线热补丁修复的使用
Alibaba-AndFix Bug热修复框架原理及源码解析
Alibaba-AndFix Bug热修复框架的使用
各种快递查询Api接口(快递鸟)
ps:如有其它快递接口网站想借此介绍,请左边QQ我
转载请注明,来自Coolspan:http://blog.csdn.net/qxs965266509
- 各种快递查询--Api接口
- 各种快递查询Api接口(快递鸟)
- 快递查询API接口
- 快递查询接口api
- 各种快递API接口—爱快递
- 免费快递查询API接口
- 用于快递查询API接口集成查询
- JAVA 快递查询接口API调用-快递鸟接口
- 爱快递查询API接口使用
- 快递查询API接口PHP源码程序
- 快递查询API接口对接方法
- 快递查询API接口-支持国内上千快递查询-无验证码API接口
- 汇集各种 webservice工厂,快递,ip,天气,身份证,手机,翻译,火车时刻,股票,邮编,二维码,公交,ISBN,ICP 查询接口 API
- 各种电子面单-Api接口(顺丰、快递鸟、菜鸟)
- 各种电子面单-Api接口(顺丰、快递鸟、菜鸟)
- 快递接口调用学习——快递查询接口(API)授权Key申请
- 快递接口API
- 快递鸟api接口
- 关于贫穷和拖延的天才发现
- 进程间的通信机制
- SWT 中嵌入Html
- Java Web表示层技术:WEB应用程序状态管理
- 黑马程序员————报名第一天
- 各种快递查询--Api接口
- hdu 4445 Crazy Tank(枚举角度)
- CODE 47: Partition List
- tomcat 启动报错
- 用SHELL与列表处理了件尴尬事
- 排序算法总结
- MyEclipse 快捷键
- 网络编程之 Socket函数 (一)
- noip2011-观光公交