class YtoUtil{private static string requestURL = "http://opentestapi.yto.net.cn/service/order_create/v1/";  //请求地址private static string clientId = "TEST";    //客户编码private static string partnerId = "123456";    //商家秘钥private static string type = "online";//订单类型public static void dataRecIni() {string txLogisticID = "LP07082300225709";string logistics_interface = "<RequestOrder>" +"<clientID>TEST</clientID>" +"<logisticProviderID>YTO</logisticProviderID>" +"<customerId>TEST</customerId >" +"<txLogisticID>" + txLogisticID + "</txLogisticID>" +"<tradeNo>2007082300225709</tradeNo>" +"<mailNo>124579546621</mailNo>" +"<totalServiceFee>0.0</totalServiceFee>" +"<codSplitFee>0.0</codSplitFee>" +"<orderType>1</orderType>" +"<serviceType>0</serviceType>" +"<flag>0</flag>" +"<sender>" +"<name>张三</name>" +"<postCode>310013</postCode>" +"<phone>231234134</phone>" +"<mobile>13575745195</mobile>" +"<prov>上海</prov>" +"<city>上海,浦东区</city>" +"<address>科技大厦9层</address>" +"</sender>" +"<receiver>" +"<name>李四</name>" +"<postCode>100000</postCode>" +"<phone>231234134</phone>" +"<prov>北京</prov>" +"<city>北京市、朝阳区</city>" +"<address>科技大厦9层</address>" +"</receiver>" +"<increments>" +"<increment>" +"<type>1</type>" +"<name>到付</name>" +"<money>2.00</money>" +"<remark>到付</remark>" +"<attr>1111</attr>" +"</increment>" +"</increments>" +"<sendStartTime>2005-08-24 08:00:00.0 CST</sendStartTime>" +"<sendEndTime>2005-08-24 12:00:00.0 CST</sendEndTime>" +"<goodsValue>1900</goodsValue>" +"<itemsValue>2000</itemsValue>" +"<items>" +"<item>" +"<itemName>Nokia N73</itemName>" +"<number>2</number>" +"<itemValue>2</itemValue>" +"</item>" +"<item>" +"<itemName>Nokia N72</itemName>" +"<number>1</number>" +"<itemValue>2</itemValue>" +"</item>" +"</items>" +"<insuranceValue>0.0</insuranceValue>" +"<special>0</special>" +"<remark>易碎品</remark>" +"</RequestOrder>";string data_digest = encode(base64(orderMD5(logistics_interface + partnerId)));//先MD5,再Base64,进行URL编码logistics_interface = encode(logistics_interface);string result = createOrder(logistics_interface, data_digest, type, clientId, requestURL);}//url编码public static string encode(string str){return HttpUtility.UrlEncode(str);}/*** MD5加密*/private static byte[] orderMD5(string str){using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider()){byte[] date = md5.ComputeHash(Encoding.UTF8.GetBytes(str));return date;}}/*** base64编码*/private static string base64(byte[] str){string result = null;result = Convert.ToBase64String(str);return result;}/*** * 订单请求* */public static string createOrder(string logistics_interface, string data_digest, string type, string clientId, string URL){string result = null;StringBuilder sb = new StringBuilder();sb.Append("logistics_interface=" + logistics_interface).Append("&").Append("data_digest=" + data_digest).Append("&").Append("type=" + type + "&clientId=" + clientId);HttpWebRequest req = (HttpWebRequest)WebRequest.Create(URL);req.Method = "POST";req.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";byte[] data = Encoding.UTF8.GetBytes(sb.ToString());req.ContentLength = data.Length;using (Stream reqStream = req.GetRequestStream()){reqStream.WriteTimeout = 5000;reqStream.Write(data, 0, data.Length);reqStream.Close();}HttpWebResponse resp = (HttpWebResponse)req.GetResponse();Stream stream = resp.GetResponseStream();using (StreamReader streamReader = new StreamReader(stream, Encoding.UTF8)){result = streamReader.ReadToEnd();}return result;}}

C#圆通订单创建接口测试类相关推荐

  1. SAP 物料订单创建、下达、报工、收货与投料(ABAP代码)

    对主体订单下的某一类物料通过MRP控制者的判断,可以对此类物料进行自动创建生产订单,自动下达,报工.收货,最后对主体订单投料. 1.新增加一个MRP控制者:泵送钢管类物料的MRP控制者必须设置为168 ...

  2. 37 MM配置-采购-采购订单-采购订单审批-编辑类

    业务背景:定义采购订单审批类 事务码:CL02 SPRO路径:物料管理->采购->采购订单->采购订单的下达过程->编辑类 第1步,SPRO进入 第2步,创建审批类 配置完成! ...

  3. java微信支付v3系列——3.订单创建准备操作

    目录 java微信支付v3系列--1.微信支付准备工作 java微信支付v3系列--2.微信支付基本配置 java微信支付v3系列--3.订单创建准备操作 java微信支付v3系列--4.创建订单的封 ...

  4. SpringBoot 框架中 使用Spring Aop 、创建注解、创建枚举类 使用过程记录

    1.开始 在Springboot框架中引入AOP <dependency><groupId>org.springframework.boot</groupId>&l ...

  5. SAP MM ML81N为采购订单创建服务接收单,报错- No matching PO items selected -

    SAP MM ML81N为采购订单创建服务接收单,报错- No matching PO items selected - SAP里的服务采购流程跟有形的实物采购流程并不相同.除了在采购单据上的差异以外 ...

  6. 使用tolua++编译pkg,从而创建自定义类让Lua脚本使用

    2019独角兽企业重金招聘Python工程师标准>>> 在Lua第三篇中介绍了,如何在cocos2dx中使用Lua创建自定义类供Lua脚本调用使用,当时出于Himi对Lua研究不够深 ...

  7. python动态创建类_Python中通过参数动态创建扩展类(class)

    class Bar: def super_cool_function(self): print("Cool") 1.利用Python闭包动态扩展类 通过在内部创建并从函数返回它来动 ...

  8. sqlalchemy根据表名动态创建model类

    sqlalchemy根据表名动态创建model类 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/J_Object/article/details/8 ...

  9. 【Groovy】MOP 元对象协议与元编程 ( Expando 动态类 | 创建动态类 | 为动态类增加字段和方法 )

    文章目录 一.Expando 动态类简介 二.动态类创建 三.为动态类增加字段和方法 四.完整代码示例 一.Expando 动态类简介 Groovy 运行时 , 可以动态地创建一个类 , 该类称为 & ...

  10. 【Binder 机制】AIDL 分析 ( 创建 AIDL 文件 | 创建 Parcelable 类 | AIDL 中使用 Parcelable 类 | 编译工程生成 AIDL 对应的Java源文件 )

    文章目录 一.创建 AIDL 文件 1.创建 AIDL 目录 2.创建 AIDL 文件 3.创建 Parcelable 类 4.AIDL 目录下声明 Parcelable 类 5.AIDL 中使用 P ...

最新文章

  1. webSocket详解
  2. Invalid syntax for function signature in TLD
  3. 用了这个 IDE 插件,5分钟解决前后端联调!
  4. html页面手机端console,GitHub - MobileHTML5/vConsole: 一个针对手机网页的前端 console 调试面板。...
  5. logger 参数列表过长_[源码级解析] 巧妙解决并深度分析Linux下rm命令提示参数列表过长的问题...
  6. 前端_网页编程 节流
  7. 数据3分钟丨MariaDB将借壳上市;前融云CTO杨攀加入涛思数据;​Elastic 8.0正式发布...
  8. ie系列浏览器_IE浏览器换Logo,真担心你上网找不到图标
  9. 零基础带你学习MySQL—备份恢复数据库(三)
  10. .NetCore中EFCore for MySql整理(二)
  11. Python 语言程序设计(5-2)七段数码管程序编写设计
  12. LeetCode160相交链表
  13. C# 调用C++DLL声明 常规参数/结构体/指针/数组
  14. 如何理解冲突域和广播域?(转)
  15. Encoder-Decoder综述理解(推荐)
  16. 【无标题】VisualStudio2022断点调试
  17. 用Node.js申请缓存buffer报DEP0005错误的解决方法
  18. 降甘油三脂 的中药/中成药
  19. serverlet快速入门
  20. DSX-5000校准的意义?

热门文章

  1. 堪比熊猫烧香!中国新型蠕虫病毒大爆发!电脑瞬间报废
  2. ensp VLAN划分
  3. 常见端口号服务用途及查看端口
  4. element ui table样式
  5. 不用镜像,也不下载安装包,windows下安装Ruby
  6. linux添加windows隐藏属性,解决文件夹隐藏属性无法取消的办法
  7. 超级外链工具-在线SEO超级外链群发工具免费
  8. 浙江省二级计算机vfp,浙江省高校计算机等级考试大纲(二级——VisualFoxPro语言程序设计大纲)...
  9. 系统自带命令subst.exe创建虚拟软驱
  10. ubuntu 下星际译王词典下载地址