电子面单API申请打印对接demo.doc

上传人:罗晋 文档编号:7226593 上传时间:2020-11-07 格式:DOC 页数:5 大小:108.50KB
返回 下载 相关 举报
电子面单API申请打印对接demo.doc_第1页
第1页 / 共5页
电子面单API申请打印对接demo.doc_第2页
第2页 / 共5页
电子面单API申请打印对接demo.doc_第3页
第3页 / 共5页
电子面单API申请打印对接demo.doc_第4页
第4页 / 共5页
电子面单API申请打印对接demo.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《电子面单API申请打印对接demo.doc》由会员分享,可在线阅读,更多相关《电子面单API申请打印对接demo.doc(5页珍藏版)》请在三一文库上搜索。

1、电子面单API申请打印对接demo接口支持的消息接收方式:HTTP POST请求类型:JSON格式返回数据类型:JSON格式接口提供:快递鸟(JAVA对接源码)import java.io.BufferedReader;import java.io.IOException; import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;import .HttpURLConnection;import .URL;import .URLEn

2、coder;import java.util.HashMap;import java.util.Map;import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;import java.security.MessageDigest; public class KdGoldAPIDemo /电商IDprivate String EBusinessID=请到官网申请http:/ String AppKey=请到官网申请http:/ 正式环境地址:http:/api.kdniao.cc/api/Eorderserviceprivate

3、 String ReqURL=http:/testapi.kdniao.cc:8081/api/Eorderservice;/* * Json方式 电子面单 * throws Exception */public String orderOnlineByJson() throws ExceptionString requestData= OrderCode: 012657700387, + ShipperCode:YTO, + PayType:1, + ExpType:1, + Cost:1.0, + OtherCost:1.0, + Sender: + + Company:LV,Name:T

4、aylor,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, + Weight:1.0, + Quantity:1, +

5、Volume:0.0, + Remark:小心轻放, + IsReturnPrintTemplate:1;Map params = new HashMap();params.put(RequestData, urlEncoder(requestData, UTF-8);params.put(EBusinessID, EBusinessID);params.put(RequestType, 1007);String dataSign=encrypt(requestData, AppKey, UTF-8);params.put(DataSign, urlEncoder(dataSign, UTF-

6、8);params.put(DataType, 2);String result=sendPost(ReqURL, params);/根据公司业务处理返回的信息.return result;/* * MD5加密 * param str 内容 * param charset 编码方式 * throws Exception */SuppressWarnings(unused)private String MD5(String str, String charset) throws Exception MessageDigest md = MessageDigest.getInstance(MD5)

7、; md.update(str.getBytes(charset); byte result = md.digest(); StringBuffer sb = new StringBuffer(32); for (int i = 0; i result.length; i+) int val = resulti & 0xff; if (val = 0xf) sb.append(0); sb.append(Integer.toHexString(val); return sb.toString().toLowerCase();/* * base64编码 * param str 内容 * para

8、m charset 编码方式 * throws UnsupportedEncodingException */private String base64(String str, String charset) throws UnsupportedEncodingExceptionString encoded = Base64.encode(str.getBytes(charset);return encoded; SuppressWarnings(unused)private String urlEncoder(String str, String charset) throws Unsupp

9、ortedEncodingExceptionString result = URLEncoder.encode(str, charset);return result;/* * 电商Sign签名生成 * param content 内容 * param keyValue Appkey * param charset 编码方式 * throws UnsupportedEncodingException ,Exception * return DataSign签名 */SuppressWarnings(unused)private String encrypt (String content, S

10、tring keyValue, String charset) throws UnsupportedEncodingException, Exceptionif (keyValue != null)return base64(MD5(content + keyValue, charset), charset);return base64(MD5(content, charset), charset); /* * 向指定 URL 发送POST方法的请求 * param url 发送请求的 URL * param params 请求的参数集合 * return 远程资源的响应结果 */Suppre

11、ssWarnings(unused)private String sendPost(String url, Map params) OutputStreamWriter out = null; BufferedReader in = null; StringBuilder result = new StringBuilder(); try URL realUrl = new URL(url); HttpURLConnection conn =(HttpURLConnection) realUrl.openConnection(); / 发送POST请求必须设置如下两行 conn.setDoOu

12、tput(true); conn.setDoInput(true); / POST方法 conn.setRequestMethod(POST); / 设置通用的请求属性 conn.setRequestProperty(accept, */*); conn.setRequestProperty(connection, Keep-Alive); conn.setRequestProperty(user-agent, Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1); conn.setRequestProperty(Content-Type

13、, application/x-www-form-urlencoded); conn.connect(); / 获取URLConnection对象对应的输出流 out = new OutputStreamWriter(conn.getOutputStream(), UTF-8); / 发送请求参数 if (params != null) StringBuilder param = new StringBuilder(); for (Map.Entry entry : params.entrySet() if(param.length()0) param.append(&); param.app

14、end(entry.getKey(); param.append(=); param.append(entry.getValue(); System.out.println(entry.getKey()+:+entry.getValue(); System.out.println(param:+param.toString(); out.write(param.toString(); / flush输出流的缓冲 out.flush(); / 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader( new InputStreamReader(conn.getInputStream(), UTF-8); String line; while (line = in.readLine() != null) result.append(line); catch (Exception e) e.printStackTrace(); /使用finally块来关闭输出流、输入流 finally try if(out!=null) out.close(); if(in!=null) in.close(); catch(IOException ex) ex.printStackTrace(); return result.toString();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1