電子面単apiインタフェース_JAVA呼び出し例
電子面単は感熱紙で印刷出力する紙である×××の物流サービスです.熱誘導表示文字により、従来のニードル印刷速度より4~6倍高速に印刷されます.電子面単はインタフェース形式で自分のシステム、ウェブサイトに埋め込まれ、自分のプラットフォームで電子面単を操作して印刷することができる.
現在、電子面単インタフェースのタイプは、宅配会社が独自にインタフェースを提供し、菜鳥電子面単インタフェース、宅配鳥電子面単インタフェースがある.菜鳥電子面単インタフェース、速達鳥電子面単インタフェースの接続方式は類似しており、いずれも15社の速達検索をサポートしている.そのうち、菜鳥は順豊電子面単印刷をサポートしていない.速達鳥は毎日、快速などの速達電子面単印刷をサポートしていない.以下はまず宅配鳥電子面単インタフェースのJAVAアクセス例を行い,後で他のインタフェースの他の言語のドッキング方式を徐々に紹介する.
現在、電子面単インタフェースのタイプは、宅配会社が独自にインタフェースを提供し、菜鳥電子面単インタフェース、宅配鳥電子面単インタフェースがある.菜鳥電子面単インタフェース、速達鳥電子面単インタフェースの接続方式は類似しており、いずれも15社の速達検索をサポートしている.そのうち、菜鳥は順豊電子面単印刷をサポートしていない.速達鳥は毎日、快速などの速達電子面単印刷をサポートしていない.以下はまず宅配鳥電子面単インタフェースのJAVAアクセス例を行い,後で他のインタフェースの他の言語のドッキング方式を徐々に紹介する.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
import java.security.MessageDigest;
/**
*
*
*
* @ QQ: 4009633321
* @ QQ : 200121393
* @see: http://www.kdniao.com/MiandanAPI.aspx
* @copyright:
*
* ID Key :http://www.kdniao.com/ServiceApply.aspx
*/
public class KdGoldAPIDemo {
// 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
* @throws Exception
*/
public String orderOnlineByJson() throws Exception{
String requestData= "{'OrderCode': '012657700387'," +
"'ShipperCode':'EMS'," +
"'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}]," +
"'Weight':1.0," +
"'Quantity':1," +
"'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-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");
md.update(str.getBytes(charset));
byte[] result = md.digest();
StringBuffer sb = new StringBuffer(32);
for (int i = 0; i params) {
OutputStreamWriter out = null;
BufferedReader in = null;
StringBuilder result = new StringBuilder();
try {
URL realUrl = new URL(url);
HttpURLConnection conn =(HttpURLConnection) realUrl.openConnection();
// POST
conn.setDoOutput(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", "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.append(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();
}
}