用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.快递柜.跨境物流公司等都会需要用到国际快递接口. 目前市面上的快递接口,以国内快递居多,有些虽然号称支持多家 ...
随机推荐
- 数据快速批量添加到Elasticsearch
如何把数据快速批量添加到Elasticsearch中 问题来源 最近新做一个项目,有部分搜索比较频繁的数据,而且量级比较大,预计一两年时间很可能达到100G,项目要求不要存在数据库中,最终出来有两个方 ...
- CRM系统(第四部分)
阅读目录 1.引入权限组件rbac 2.分配权限 3.登录.引入中间件 1.引入权限组件rbac 1.settings配置app.中间件 INSTALLED_APPS = [ ... ... ...
- echarts使用笔记三:柱子对比
app.title = '坐标轴刻度与标签对齐'; option = { title : { //标题 x : 'center', y : 5, text : '对比图' //换行用 \n }, le ...
- JavaScript中防止重复提交
有这么一种情况: 页面有一个按钮,点击之后会触发Ajax请求,但是用户在点击之后,不知道是否点成功了,于是又点了一下,如果不加处理的话,就会进行两次Ajax请求,并且请求的数据都是一样的,对后端的程序 ...
- 练习MD5加密jar包编写
简介 参数签名可以保证开发的者的信息被冒用后,信息不会被泄露和受损.原因在于接入者和提供者都会对每一次的接口访问进行签名和验证. 签名sign的方式是目前比较常用的方式. 第1步:接入者把需求访问的接 ...
- JMeter压测分布式部署
监控JMeter压力机的性能
- for循环游标
- HTML5经典实例——1基础语法和语义
1指定DOCTYPE 在页面的最开始处指定HTML5 DOCTYPE DOCTYPE是不区分大小写的.可以任意的使用大小写. <!DOCTYPE html> <html lang=& ...
- sql 保留2位小数/换行
2.176544保留两位小数 1.select Convert(decimal(18,2),2.176544) 结果:2.18 2.select Round(2.176544,2) 结果:2.180 ...
- SpringBoot之文件上传
package org.springboot.controller; import org.apache.logging.log4j.LogManager; import org.apache.log ...