winform 打印快递电子面单_c#对接电子面单打印平台
[c#]代码库using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;
namespace KdGoldAPI
{
/**
*
* 快递鸟电子面单接口
*
* @see: http://www.kdniao.com/MiandanAPI.aspx
* @copyright: 深圳市快金数据技术服务有限公司
*
* ID和Key请到官网申请:http://www.kdniao.com/ServiceApply.aspx
*/
public class KdApiEOrderDemo
{
//电商ID
private string EBusinessID = "请到快递鸟官网申请http://www.kdniao.com/ServiceApply.aspx";
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
private string AppKey = "请到快递鸟官网申请http://www.kdniao.com/ServiceApply.aspx";
//请求url, 正式环境地址:http://api.kdniao.cc/api/Eorderservice
private string ReqURL = "http://testapi.kdniao.cc:8081/api/EOrderService";
///
/// Json方式 电子面单
///
///
public string orderTracesSubByJson()
{
string requestData = "{'OrderCode': '012657700312'," +
"'ShipperCode':'YTO'," +
"'PayType':1," +
"'ExpType':1," +
"'Cost':1.0," +
"'OtherCost':1.0," +
"'Sender':" +
"{" +
"'Company':'LV','Name':'Taylor','Mobile':'15018442396','ProvinceName':'上海','CityName':'上海','ExpAreaName':'青浦区','Address':'明珠路73号'}," +
"'Receiver':" +
"{" +
"'Company':'GCCUI','Name':'Yann','Mobile':'15018442396','ProvinceName':'北京','CityName':'北京','ExpAreaName':'朝阳区','Address':'三里屯街道雅秀大厦'}," +
"'Commodity':" +
"[{" +
"'GoodsName':'鞋子','Goodsquantity':1,'GoodsWeight':1.0}]," +
"'AddService':" +
"[{" +
"'Name':'COD','Value':'1020'}]," +
"'Weight':1.0," +
"'Quantity':1," +
"'Volume':0.0," +
"'Remark':'小心轻放'," +
"'IsReturnPrintTemplate':1}";
Dictionary param = new Dictionary();
param.Add("RequestData", HttpUtility.UrlEncode(requestData, Encoding.UTF8));
param.Add("EBusinessID", EBusinessID);
param.Add("RequestType", "1007");
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;
}
///
/// 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 < 16)
ret += "0" + a.ToString("X");
else
ret += a.ToString("X");
}
return ret.ToLower();
}
catch
{
throw;
}
}
///
/// base64编码
///
/// 内容
/// 编码方式
///
private string base64(String str, String charset)
{
return Convert.ToBase64String(System.Text.Encoding.GetEncoding(charset).GetBytes(str));
}
}
}
winform 打印快递电子面单_c#对接电子面单打印平台相关推荐
- winform 打印快递电子面单_隐私电子面单demo
[c#]代码库using System; using System.Collections.Generic; using System.IO; using System.Linq; using Sys ...
- 天天快递电子面单接口对接说明及案例
1.接口类型说明 1)接口支持的消息接收方式:HTTP POST 2)请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset= ...
- JD京东物流电子面单接口对接文档-快递鸟
1.注册账号http://www.kdniao.com/reg 2.在官网登录进入用户管理后台,进行实名认证,开通接口 3.技术对接及联调(登陆官网使用调试平台进行测试.) 4.上线 1.接口类型 ...
- 圆通快递查询电子面单接口对接快递鸟api指南
一.接入前准备(TO商家业务人员) 1.申请快递鸟用户ID和API key 1.1登录快递鸟官网注册页面http://www.kdniao.com/reg注册快递鸟账号: 1.2登录快递鸟用户管理后台 ...
- 电商适用电子面单接口对接案例
电子面单接口现在有快递公司.菜鸟和快递鸟提供 快递公司是一家家合作,要接口文档,逐一对接 菜鸟和快递鸟是电子面单接口集成方,能打印多家快递电子面单,菜鸟目前支持15家,快递鸟支持20家,基本上都是常用 ...
- 免费圆通电子面单接口对接
电子面单接口是快递鸟提供给独立电商.仓储管理系统.物流供应链等物流系统平台使用的下单接口,满足客户在线发货需求并提供打印面单的服务,客户通过网络选择物流公司发送请求通知贵公司有快递要发货,把数据通过此 ...
- 电子面单打印平台对接-快递鸟
(1)电子面单接口是快递鸟提供给独立电商.仓储管理系统.物流供应链等物流系统平台使用的下单接口. (2)为客户解决在线发货需求,商户通过网络选择快递公司发送请求通知快递公司有快递要发货. (3)客户把 ...
- C#-快递鸟电子面单打印API
以下是快递鸟电子面单接口对接demo (1).只支持Json格式.接口指令1007. (2).订单编号(OrderCode)不可重复提交,重复提交系统会返回具体错误代码. (3).接口支持:顺丰(SF ...
- 免费电子面单Api_快递鸟接口JAVA对接调用案例
电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务.通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍.电子面单以接口形式嵌入到自己的系统.网站上,可以在自己的平台操作打印电子面单. 一. ...
- 拼多多电子面单云打印接口对接 (跨境erp应用,电子面单应用)[拼多多获取电子面单,拼多多面单打印]
一.简介 使用拼多多开放平台提供的拼多多电子面单功能. 拼多多开放平台提供的这两个应用的区别: 1.在于业务权限方面,跨境erp权限很多具体可以在开放平台看到,其中就包括了获取电子面单,而电子面单应用 ...
最新文章
- 只能是数字、字母、-和_
- linux sybase系统,linux sybase 安装全过程(写给初学者)
- 如何取回服务器上的文件网页设计,毕业设计(论文)-基于内容中心网络开发平台的文件分享精选.docx...
- SAP Leonardo机器学习Restful API如何获得Access Token
- python赋值浅拷贝和深拷贝的区别_浅拷贝、深拷贝和普通赋值操作有什么区别?...
- vSphere 5.5:使用 RVC VSAN 监控工具第 2 部分
- WPF老矣,尚能饭否——且说说WPF今生未来(中):策略
- UNITY2021 开发安卓app 扫描一维二维条码
- R语言:决策树结果可视化
- matlab命令行窗口显示长度设置_MATLAB的命令窗口、图形窗口
- 成功的运行了DC模拟器+斑鸠!!!
- ERROR 1366 (HY000): Incorrect string value: '\xE8\xB5\xB5\xE9\x9B\xB7' for column 'Sname' at row 1
- android系统源码学习 -- 蓝牙 bluetooth (一) 入门
- 新型冠状病毒传染模型SI、SIS、SIR、SEIR
- Zero-shot Cross-lingual Transfer of Prompt-based Tuning with a Unified Multilingual Prompt
- 各开发者android平台的注册及上传方法汇总
- 关于linux上运行ONS
- 【产品升级】愚人节不愚人,效率源手机取证产品SPF9139升级来袭!
- 安卓智能地图开发与实施六:离线基础底图 - ArcGIS Runtime SDK for Android(Version 100.0.0)
- 经典生产者-消费者问题解析
热门文章
- 从幼苗长成大树 中美两国GIS软件技术已并驾齐驱
- linux lefse分析,科学网-linux本地化进行lefse分析-林国鹏的博文
- SpringBoot 项目(若依脚手架)2
- 二级计算机考试什么最难,计算机二级考试难吗 考试内容是什么
- 安装pip的三种方法
- 解决谷歌浏览器最新chrome94版本CORS跨域问题(海康视频插件无法播放的问题)
- x线计算机断层摄影机房面积应不小于,X射线计算机断层摄影放射防护要求GBZ165-2012.pdf...
- 苹果7pnfc功能门禁卡_苹果7手机nfc怎么开启 苹果手机门禁卡nfc功能
- C# 读取写入Json文件
- 关于程序员清明节假期延长至七天的通知