Htpp通訊——Java實現
阿新 • • 發佈:2019-01-01
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.HttpURLConnection; import java.net.ProtocolException; import java.net.URL; public class TestHttpConn { private String serverURL = "http://localhost:8080/tests/root.do"; public String conn(){ HttpURLConnection httpConn = null; PrintWriter out = null; BufferedReader in = null; String responseStr = null; try { URL urlClient = new URL(serverURL); //開啟連線 httpConn = (HttpURLConnection) urlClient.openConnection(); //設定連線引數 setHttpConnection(httpConn); //需要傳送的資料 String xmlStr = ""; //獲取與URLConnection對相對應的輸出流 out = new PrintWriter(httpConn.getOutputStream()); //將檔案對入輸出流併發送 out.print(xmlStr); out.flush(); //讀取返回的資料 InputStreamReader inputStr = new InputStreamReader(httpConn.getInputStream(),"UTF-8"); in = new BufferedReader(inputStr); StringBuffer sb = new StringBuffer(); String line; boolean firstLine = true; while((line = in.readLine()) != null){ if(firstLine){ firstLine = false; }else{ sb.append("\n"); } sb.append(line); } responseStr = sb.toString(); return responseStr; } catch (Exception e) { e.printStackTrace(); } return responseStr; } private void setHttpConnection(HttpURLConnection httpConn) throws ProtocolException { httpConn.setRequestMethod("POST"); httpConn.setConnectTimeout(30000); httpConn.setReadTimeout(10000); httpConn.setRequestProperty("Connection", "keep-alive"); httpConn.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8"); httpConn.setRequestProperty("Content-Type", "application/soap+xml"); httpConn.setRequestProperty("Accept", "application/xml"); httpConn.setRequestProperty( "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.803.0 Safari/535.1"); httpConn.setDoInput(true); httpConn.setDoOutput(true); } public static void main(String[] args) { TestHttpConn test = new TestHttpConn(); test.conn(); } }