1. 程式人生 > >Htpp通訊——Java實現

Htpp通訊——Java實現

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();
	}
	
}