栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

顺丰丰桥BSP对接小记——C#

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

顺丰丰桥BSP对接小记——C#

注册账号之类的步骤略过
两个重要信息 Checkword:j8DzkIFgmlomPt0aLuwU
和clientCode:BSPdevelop
报文是xml格式的字符串
注意事项:1开发环境
requestUrl = "https://bsp-ois.sit.sf-express.com:9443/bsp-ois/sfexpressService";(以群公告最新为准)
clientCode:BSPdevelop ;
Checkword:j8DzkIFgmlomPt0aLuwU;
2.在测试环境的时候就是图下的
调用地址:
顾客编码:
校验码:

3.签名过程和请求过程很简单一般不会出错,但是还是需要注意一下的
4.请求的消息头 的ContentType = "application/x-www-form-urlencoded";
表单提交
//json格式的时候会写 "text/json",千万别想太多的写了"text/xml",
整个过程很简单,只是在做这件事的时候想太多了-.-导致宝宝一直无法请求成功,一直是签名错误,但是吧-.- 当时签名方法没有问题,反正写下来,自己以后看到肯定能想起来,然后忍不住笑的-.-

简单的说就是一下几个几个步骤:
step1:xml格式的字符串(如何拼接有官方demo)和checkWord是自己的;
step2:verifyCode =MD5Tobase64String(xml+Checkword )//加密这个方法代码里面有;
step3:DoPost(requestUrl, xml, verifyCode);//请求部分代码里面有 这个会返回请求结果
step4:得到step3的返回结果后怎么处理就是自己的事了

public void SFOrder()
{ 
    string xml = "BSPdevelop";
    string Checkword = "j8DzkIFgmlomPt0aLuwU";
    string verifyCode =MD5Tobase64String(xml+Checkword );
 string requestUrl = "https://bsp-ois.sit.sf-express.com:9443/bsp-ois/sfexpressService";//开发环境地址
//http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService 测试环境地址
 string result =DoPost(requestUrl, xml, verifyCode);//这就得到了返回结果,解析部分就不记了,想起来也没什么小点了

}

 public string MD5Tobase64String(string str)
 {
     MD5 md5 = new MD5CryptoServiceProvider();
     byte[] MD5 = md5.ComputeHash(Encoding.UTF8.GetBytes(str));//MD5(注意UTF8编码)
     string result = Convert.Tobase64String(MD5);//base64
     return result;
 }
public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
 {   // 总是接受  
     return true;
 }
 public string DoPost(string Url, string xml, string verifyCode)
 {

     ServicePointManager.ServerCertificatevalidationCallback = new System.Net.Security.RemoteCertificatevalidationCallback(CheckValidationResult);
     string postData = string.Format("xml={0}&verifyCode={1}",xml, verifyCode); 

     //请求
     WebRequest request = (HttpWebRequest)WebRequest.Create(Url);

     request.Method = "POST";
     request.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
     request.ContentLength = Encoding.UTF8.GetByteCount(postData);
     byte[] postByte = Encoding.UTF8.GetBytes(postData);
     Stream reqStream = request.GetRequestStream();
     reqStream.Write(postByte, 0, postByte.Length);
     reqStream.Close();

     //读取
     HttpWebResponse response = (HttpWebResponse)request.GetResponse();
     Stream myResponseStream = response.GetResponseStream();
     StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
     string retString = myStreamReader.ReadToEnd();
     myStreamReader.Close();
     myResponseStream.Close();

     return retString;
 }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/231073.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号