• 用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(调用方法见后面第四章),即可以看到结果。效果:

    clip_image002

    特别提醒:

    因为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);
  • 相关阅读:
    五种提高 SQL 性能的方法
    join 使用详解方式
    关于MagicAjax的用法
    收藏几段SQL Server语句和存储过程
    ubuntu nfs配置 以及mount.nfs:access denied by server while mounting问题解决
    Hisi开发板上 SQLite3.3.8移植
    父进程非阻塞回收子进程(适用LINUX下C语言的clientserver模型)
    busybox asm/page.h: No such find.
    ubuntu11.10 samba服务器配置
    errno定义
  • 原文地址:https://www.cnblogs.com/fengwenit/p/4668523.html
Copyright © 2020-2023  润新知