阿里物流快递单号查询api
                                                    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Net; using System.IO; 
namespace KdGoldAPI { public class KdApiSearchDemo { //电商ID private string EBusinessID = '1237100'; //电商加密私钥,快递鸟提供,注意保管,不要泄漏 private string AppKey = '518a73d8-1f7f-441a-b644-33e77b49d846'; //请求url private string ReqURL = 'http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx'; 
    /// 
    /// Json方式 查询订单物流轨迹
    /// 
    /// 
    public string getOrderTracesByJson()
    {
        string requestData = '{'OrderCode':'','ShipperCode':'SF','LogisticCode':'589707398027'}';
        Dictionary param = new Dictionary();
        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;
    }
    /// 
    /// XML方式 查询订单物流轨迹
    /// 
    /// 
    public string getOrderTracesByXml()
    {
        string requestData = '' +
                            '' +
                            '' +
                            'SF' +
                            '589707398027' +
                            '';
        Dictionary param = new Dictionary();
        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;
    }
    /// 
    /// Post方式提交数据,返回网页的源代码
    /// 
    /// 发送请求的 URL
    /// 请求的参数集合
    /// 远程资源的响应结果
    private string sendPost(string url, Dictionary 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(p.Key);
                postData.Append('=');
                postData.Append(p.Value);
            }
        }
        byte[] byteData = Encoding.GetEncoding('UTF-8').GetBytes(postData.ToString());
        try
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            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('UTF-8'));
            result = sr.ReadToEnd();
            sr.Close();
            backStream.Close();
            response.Close();
            request.Abort();
        }
        catch (Exception ex)
        {
            result = ex.Message;
        }
        return result;
    }
    ///
    ///电商Sign签名
    ///
    ///内容
    ///Appkey
    ///URL编码 
    ///DataSign签名
    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);
    }
    ///
    /// 字符串MD5加密
    ///
    ///要加密的字符串
    ///编码方式
    ///密文
    private string MD5(string str, string charset)
    {
        byte[] buffer = System.Text.Encoding.GetEncoding(charset).GetBytes(str);
        try
        {
            System.Security.Cryptography.MD5CryptoServiceProvider check;
            check = new System.Security.Cryptography.MD5CryptoServiceProvider();
            byte[] somme = check.ComputeHash(buffer);
            string ret = '';
            foreach (byte a in somme)
            {
                if (a 
    /// base64编码
    /// 
    /// 内容
    /// 编码方式
    /// 
    private string base64(String str, String charset)
    {
        return Convert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));
    }
}
 
}
                                                    
                                                        赞0
                                                        踩0