12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package com.kmall.api.service;
- import org.springframework.stereotype.Service;
- import java.io.IOException;
- import java.io.InputStream;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.net.URLConnection;
- @Service
- public class ApiKD100Service {
- //电商加密私钥,快递鸟提供,注意保管,不要泄漏
- private String AppKey = "f7a8d954da86787b";
- //请求url
- private String ReqURL = "http://www.kuaidi100.com/applyurl?key=APPKEY&com=expCode&nu=expNo";
- /**
- * Json方式 查询订单物流轨迹
- *
- * @throws Exception
- */
- public String getOrderTracesByJson(String expCode, String expNo) {
- String url = ReqURL.replace("APPKEY", AppKey).replace("expCode", expCode).replace("expNo", expNo);
- String html = sendGet(url);
- return html;
- }
- public String sendGet(String urlStr) {
- String result = "";
- try {
- URL url = new URL(urlStr);
- URLConnection con = url.openConnection();
- con.setAllowUserInteraction(false);
- con.setRequestProperty("Connection", "Keep-Alive");
- con.setRequestProperty("Charset", "UTF-8");
- con.setRequestProperty("Content-Type","text/html; charset=UTF-8");
- InputStream urlStream = url.openStream();
- String type = con.guessContentTypeFromStream(urlStream);
- String charSet = null;
- if (type == null)
- type = con.getContentType();
- if (type == null || type.trim().length() == 0 || type.trim().indexOf("text/html") < 0)
- return null;
- if (type.indexOf("charset=") > 0)
- charSet = type.substring(type.indexOf("charset=") + 8);
- byte b[] = new byte[10000];
- int numRead = urlStream.read(b);
- result = new String(b, 0, numRead);
- while (numRead != -1) {
- numRead = urlStream.read(b);
- if (numRead != -1) {
- String newContent = new String(b, 0, numRead, charSet);
- result += newContent;
- }
- }
- //System.out.println("content:" + content);
- urlStream.close();
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return result;
- }
- }
|