用c#查询各快递物流信息
前面介绍过《用快递100接口查询各快递物流信息》,里面用的是API接口,但有些快递不支持这种方式,本文介绍的HtmlAPI支持所有快递公司。
支持包括EMS、邮政、顺丰和申通在内的所有公司,稳定性强、速度快,易开发、安全性高 。
1、API请求地址
http://www.kuaidi100.com/applyurl?key=[]&com=[]&nu=[]
(配参数时请先将 中括号去掉)
2、传入参数说明
|
参数 |
是否必需 |
说明 |
|
key |
是 |
快递100的授权key,如果已有快递100的key,可以直接使用已有的;如果还没有申请,请点击 快递查询API进行申请。 |
|
com |
是 |
快递公司编码见下表 |
|
nu |
是 |
快递单号 |
3、支持的公司
HtmlAPI支持快递100所有支持的公司,以下只罗列最常见的几个快递,更多的编码请点击《用快递100接口查询各快递物流信息》查看
|
分类 |
快递公司代码 |
公司名称 |
|
E |
||
|
ems |
ems |
|
|
emsguoji |
ems国际件 |
|
|
S |
||
|
shentong |
伸通 |
|
|
shunfeng |
顺丰 |
|
|
Y |
||
|
youzhengguonei |
中国邮政国内包裹/挂号信/国内小包大包 |
|
|
youzhengguoji |
中国邮政国际包裹/挂号信/国外小包大包 |
4、返回结果说明:
提交请求后,快递100会给您返回一个可以看到结果的url地址,如:http://www.kuaidi100.com/kuaidiresult?id=23 ,您直接访问或用iframe页调用该url(调用方法见后面第四章),即可以看到结果。效果:

特别提醒:
因为EMS、顺丰和申通偶尔会不稳定, 不稳定时会先显示验证码 (如下图所示),所以请勿直接将这个页面直接解析成JSON等形式,否则会出错!
5、整体使用流程
第一步,后台创建链接,调用:http://www.kuaidi100.com/applyurl?key=[]&com=[]&nu=[] ,调用后系统会返回一个url地址,如:http://www.kuaidi100.com/kuaidiresult?id=23 。
第二步:在要显示结果的页面添加一个iframe标签,将上述结果url地址传入该iframe标签的的src值,即可在该页面查看到结果(如果要实现系统自动地将结果url传入iframe标签的src,请参考下面第五章),iframe代码示范:
<iframe name="kuaidi100" src="结果url地址" width="600" height="380" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no"></iframe>
如果要实现系统自动地将结果url传入iframe标签的src,请参考下面
6、 C#示范
首先加一个iframe, 取到数据后,填充它
<iframe class="address_b order_zhui" height="260px" width="100%" id="kdFrame"></iframe>
$.get("Get.aspx", { wid: wid, openid: openid, rid: rid },
function (data) {
$("#bhao").hide();
if (data != null) {
$("#bhao").show();
//$("#retData").html(data);
$("#kdFrame").attr("src", data);
}
}
);
后台:
//用htmlapi
WebClient client = new WebClient();
string url = string.Format("http://www.kuaidi100.com/applyurl?key={0}&com={1}&nu={2}", ApiKey, typeCom, nu);
log.Info("url: " + url);
Byte[] pageData = client.DownloadData(url);
string pageHtml = Encoding.ASCII.GetString(pageData);
log.Info("return url: " + pageHtml);
Response.Write(pageHtml);
用c#查询各快递物流信息的更多相关文章
- .netcore 写快递100的快递物流信息查询接口
快递100的物流信息查询接口,官方提供了一些demo;还好官方提供的代码是.netcore版本写的,不过写的有点low;根据官方提供的代码,我按照.netcore 的风格重构了代码:核心代码如下: / ...
- 微信小程序+OLAMI(欧拉蜜)自然语言API接口制作智能查询工具--快递、聊天、日历等
微信小程序最近比较热门,再加上自然语义理解也越来越被人关注,于是我想赶赶潮流,做一个小程序试试.想来想去快递查询应该是一种比较普遍的需求. 如果你也在通过自然语言接口做点什么,希望我的这篇博客能帮到你 ...
- 物流一站式单号查询之快递鸟API接口(附Demo源码)
连载篇提前看 物流一站式单号查询之快递鸟API接口 物流一站式查询之TrackingMore篇 物流一站式查询之顺丰接口篇 物流一站式查询之快递100 前情提要 前三篇中,我们已经从注册.申请接口.调 ...
- PHP实现物流查询(通过快递网API实现)
物流查询实现 引 言:目前快递公司太多了,不可能一个一个去申请api查询.这个时候,就可以通过合作,找一些中间商合作.我试了两家,一家是快递100,一家是快递网. 他们都需要申请key.但是快递100 ...
- iOS 获取快递物流信息(GCD异步加载)
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...
- 快递查询API接口(trackingmore)
快递查询接口 目前提供快递查询的接口平台有: Trackingmore 快递100 快递网 不同接口的区别: (1)Trackingmore支持380家快递公司,其中有55家为国内的快递,其余325家 ...
- php快递单号查询源码
贴下记录下php查询快递单号的源码,能查询各种快递的快递单号记录,中通.圆通快递.顺丰快递等都不是问题.只需要在 爱快递(www.aikuaidi.cn)上面申请一个快递key即可,下面把源码分享下, ...
- 基于PHP的快递查询免费开放平台案例-快宝开放平台
快递查询是快递业务中极其重要的业务,免费的快递查询开放平台:快宝开放平台. 快宝开放平台:http://open.kuaidihelp.com/home,已经对接100多家快递公司,实现快递物流信息实 ...
- 国际快递查询接口JAVA示例-trackingmore
国际快递查询接口 国际快递查询接口的需求量很大,例如一些跨境电商B2C网站.快递查询APP.快递柜.跨境物流公司等都会需要用到国际快递接口. 目前市面上的快递接口,以国内快递居多,有些虽然号称支持多家 ...
随机推荐
- 【问题解决方案】之 关于某江加密视频swf专用播放器仍无法播放的问题
前言: 从pt上下载了一些语言学习的视频之后一直打不开,百度谷歌了若干种方法仍然无解.无奈放弃. 某日从百度知道里又看到一个方法,试了一下,居然灵了.呜呼哀哉.赶紧记下来. 原方法链接:https:/ ...
- HTML 5 Web 音频
HTML 5 音频http://www.w3school.com.cn/html5/html_5_audio.asp 在 Web 上播放音频http://www.w3school.com.cn/med ...
- 简要了解 MySql 5.5/5.6/5.7/8 出现的新特性
MySQL的开发周期 在比较之前,首先提一下MySQL的开发周期. MySQL一个大版本的开发,大致经历如下几个阶段: Feature Development Feature Testing Perf ...
- JMeter学习FTP测试计划(转)
FTP服务主要提供上传和下载功能.有时间需要我们测试服务器上传和下载的性能.在这里我通过JMeter做一个FTP测试计划的例子. 1.创建一个线程组 2.线程组--->添加--->配置元件 ...
- java中级——集合框架【2】-二叉树
二叉树 二叉树概念 首先我们要明确,二叉树由各种节点组成:还有就是二叉树特点:(1)每个节点都可以有左子节点,右子节点(2)每一个节点都有一个值 如图所示: 代码所示: package cn.jse. ...
- mysql 如何查看sql语句执行时间和效率
查看执行时间 1 show profiles; 2 show variables;查看profiling 是否是on状态: 3 如果是off,则 set profiling = 1: 4 执行自己的s ...
- jQuery的each使用陷阱
注意:jQuery使用each()函数进行循环时发现return false不能阻止程序继续向下执行 原因如下: (1)开始还以为是jQuery的each()函数是异步执行的,所以导致出错,其实不是. ...
- shiro框架的UsernamePasswordToken与对应Realm中的AuthenticationToken的一点比较
这里以简单的登陆为例子 控制器对应的登陆方法: @RequestMapping(value = "/login", method = RequestMethod.GET) publ ...
- Python——数组模块(array)
一.模块说明 array模块是python中实现的一种高效的数组存储类型.它和list相似,但是所有的数组成员必须是同一种类型,在创建数组的时候,就确定了数组的类型. 二.代码
- 【python练习题】程序16
#题目:输出指定格式的日期. import time print (time.strftime('%Y:%m:%d %X',time.localtime(time.time())))