/** * */ package testJava.java; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.Base64; /** * @author xxx * @function * @date 2016年4月12日 * @version */ public class Zuzuche { public static String appPost(Object jsonBean, String reqUrl,String method) throws Exception{ //發送數據 HttpURLConnection conn; try { URL url = new URL(reqUrl); conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); conn.setInstanceFollowRedirects(false);//是否自動處理重定向 conn.setRequestMethod(method); // conn.setRequestProperty("User-Agent", "xxxEs_console"); // conn.setRequestProperty("Content-Type","application/x-gzip"); conn.setRequestProperty("Host", "xxx.yyy.com"); conn.setRequestProperty("Connection", "keep-alive"); //base64編碼的"user:passwd"字符串。如果沒有,或者用戶密碼不對,則返回http code 401頁面給客戶端 //Authorization: "Basic 用戶名和密碼的base64加密字符串",注意用戶名和密碼中間的冒號. conn.setRequestProperty("Authorization", "Basic xfdfsfwUxMTc1LWhQQCZ9fjpjfdsfsfesOw=="); conn.connect(); //接收返回數據 InputStream in = conn.getInputStream(); // GZIPInputStream gzin = new GZIPInputStream(in); // BufferedReader reader = new BufferedReader(new InputStreamReader(gzin,"UTF-8")); BufferedReader reader = new BufferedReader(new InputStreamReader(in,"UTF-8")); String line; StringBuffer sb=new StringBuffer(); while ((line = reader.readLine()) != null) { sb.append(line); } reader.close(); conn.disconnect(); return sb.toString(); } catch (Exception e) { throw e; } } public static void main(String[] args) { //base64加密 byte[] auth = Base64.getEncoder().encode("用戶名:密碼".getBytes()); String sauth = new String(auth); System.out.println("sauth="+sauth); //或者: 用戶名:密碼@url.com方式請求,在火狐瀏覽器上面. String url = "http://xxx.yyy.com/2.0/standard/queryStatistic.php?beginDate=2016-04-01&endDate=2016-04-02"; try { System.out.println("url="+ url); String result = appPost(null, url, "GET"); System.err.println("接口調用返回結果:" + result); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }