您的位置:手机购彩平台 > 手机购彩平台-编程 > 快递鸟物流查询接口是免费使用的

快递鸟物流查询接口是免费使用的

2019-09-24 15:47

快递鸟物流查询接口是免费使用的,没有限制,稳定性也还不错,所以接口对接以快递鸟为例,用户ID和KEY需要自己申请

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Net;using System.Text;using System.Web;/** * * 快递鸟物流轨迹即时查询接口 * * @技术QQ群: 456320272 * @see: http://www.kdniao.com/YundanChaxunAPI.aspx * @copyright: 深圳市快金数据技术服务有限公司 * * DEMO中的电商ID与私钥仅限测试使用,正式环境请单独注册账号 * 单日超过500单查询量,建议接入我方物流轨迹订阅推送接口 */namespace Test{    public class KdApiSearchDemoYS    {        //电商ID        private string EBusinessID = "ID需到官网申请:http://www.kdniao.com/ServiceApply.aspx";        //电商加密私钥,快递鸟提供,注意保管,不要泄漏        private string AppKey = "Key需到官网申请:http://www.kdniao.com/ServiceApply.aspx";        //请求url        private string ReqURL = "http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx";        /// <summary>        /// Json方式 查询订单物流轨迹        /// </summary>        /// <returns></returns>        public string getOrderTracesByJson(string shipperCode, string expNo)        {            string requestData = "{'OrderCode':'','ShipperCode':'"+shipperCode+"','LogisticCode':'"+expNo+"'}";            Dictionary<string, string> param = new Dictionary<string, string>();            param.Add("RequestData", HttpUtility.UrlEncode(requestData, Encoding.UTF8));            param.Add("EBusinessID", EBusinessID);            param.Add("RequestType", "1002");            string dataSign = encrypt(requestData, AppKey, "UTF-8");            param.Add("DataSign", HttpUtility.UrlEncode(dataSign, Encoding.UTF8));            param.Add("DataType", "2");            string result = sendPost(ReqURL, param);            //根据公司业务处理返回的信息......            return result;        }        /// <summary>        /// XML方式 查询订单物流轨迹        /// </summary>        /// <returns></returns>        public string getOrderTracesByXml()        {            string requestData = "<?xml version="1.0" encoding="utf-8" ?>" +                                "<Content>" +                                "<OrderCode></OrderCode>" +                                "<ShipperCode>SF</ShipperCode>" +                                "<LogisticCode>589707398027</LogisticCode>" +                                "</Content>";            Dictionary<string, string> param = new Dictionary<string, string>();            param.Add("RequestData", HttpUtility.UrlEncode(requestData, Encoding.UTF8));            param.Add("EBusinessID", EBusinessID);            param.Add("RequestType", "1002");            string dataSign = encrypt(requestData, AppKey, "UTF-8");            param.Add("DataSign", HttpUtility.UrlEncode(dataSign, Encoding.UTF8));            param.Add("DataType", "1");            string result = sendPost(ReqURL, param);            //根据公司业务处理返回的信息......            return result;        }        /// <summary>        /// Post方式提交数据,返回网页的源代码        /// </summary>        /// <param name="url">发送请求的 URL</param>        /// <param name="param">请求的参数集合</param>        /// <returns>远程资源的响应结果</returns>        private string sendPost(string url, Dictionary<string, string> param)        {            string result = "";            StringBuilder postData = new StringBuilder();            if (param != null && param.Count > 0)            {                foreach (var p in param)                {                    if (postData.Length > 0)                    {                        postData.Append;                    }                    postData.Append;                    postData.Append;                    postData.Append;                }            }            byte[] byteData = Encoding.GetEncoding.GetBytes(postData.ToString;            try            {                HttpWebRequest request = (HttpWebRequest)WebRequest.Create;                request.ContentType = "application/x-www-form-urlencoded";                request.Referer = url;                request.Accept = "*/*";                request.Timeout = 30 * 1000;                request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";                request.Method = "POST";                request.ContentLength = byteData.Length;                Stream stream = request.GetRequestStream();                stream.Write(byteData, 0, byteData.Length);                stream.Flush();                stream.Close();                HttpWebResponse response = (HttpWebResponse)request.GetResponse();                Stream backStream = response.GetResponseStream();                StreamReader sr = new StreamReader(backStream, Encoding.GetEncoding;                result = sr.ReadToEnd();                sr.Close();                backStream.Close();                response.Close();                request.Abort();            }            catch (Exception ex)            {                result = ex.Message;            }            return result;        }        ///<summary>        ///电商Sign签名        ///</summary>        ///<param name="content">内容</param>        ///<param name="keyValue">Appkey</param>        ///<param name="charset">URL编码 </param>        ///<returns>DataSign签名</returns>        private string encrypt(String content, String keyValue, String charset)        {            if (keyValue != null)            {                return base64(MD5(content + keyValue, charset), charset);            }            return base64(MD5(content, charset), charset);        }        ///<summary>        /// 字符串MD5加密        ///</summary>        ///<param name="str">要加密的字符串</param>        ///<param name="charset">编码方式</param>        ///<returns>密文</returns>        private string MD5(string str, string charset)        {            byte[] buffer = System.Text.Encoding.GetEncoding.GetBytes;            try            {                System.Security.Cryptography.MD5CryptoServiceProvider check;                check = new System.Security.Cryptography.MD5CryptoServiceProvider();                byte[] somme = check.ComputeHash;                string ret = "";                foreach (byte a in somme)                {                    if (a < 16)                        ret += "0" + a.ToString;                    else                        ret += a.ToString;                }                return ret.ToLower();            }            catch            {                throw;            }        }        /// <summary>        /// base64编码        /// </summary>        /// <param name="str">内容</param>        /// <param name="charset">编码方式</param>        /// <returns></returns>        private string base64(String str, String charset)        {            return Convert.ToBase64String(System.Text.Encoding.GetEncoding.GetBytes;        }    }}

  

aspx界面示例

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="KdApiSearchYS.aspx.cs" Inherits="Test.KdApiSearchYS" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <title></title></head><body>    <form  runat="server">        <div>            <p>                <asp:Label ID="Label1" runat="server" Text="物流编码"></asp:Label>                <asp:TextBox ID="txtShipperCode" runat="server"></asp:TextBox>            </p>            <p>                <asp:Label ID="Label2" runat="server" Text="快递单号"></asp:Label>                <asp:TextBox ID="txtLogisticCode" runat="server"></asp:TextBox>            </p>            <p>                <asp:Button ID="Button1" runat="server" OnClick="Button_Click" Text="查询" />            </p>        </div>    </form></body></html>

  aspx.cs代码

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace Test{    public partial class KdApiSearchYS : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {        }        protected void Button_Click(object sender, EventArgs e)        {            KdApiSearchDemoYS search = new KdApiSearchDemoYS();            string result = search.getOrderTracesByJson(this.txtShipperCode.Text.Trim(), this.txtLogisticCode.Text.Trim;            Response.Write;        }    }}

  

本文由手机购彩平台发布于手机购彩平台-编程,转载请注明出处:快递鸟物流查询接口是免费使用的

关键词: