1. 程式人生 > >HttpClient 的 Post 提交表單簡單示例

HttpClient 的 Post 提交表單簡單示例

示例很簡單,主要用來熟悉HttpClient的最基礎的使用邏輯,用於HttpClient入門

package com.alexwu.examples;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URIUtils;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

public class PostSample {

	public static void main(String[] args) throws URISyntaxException, ClientProtocolException, IOException {
		
		//核心應用類 
		HttpClient httpClient = new DefaultHttpClient();
		
		//設定表單需要提交的引數
		List<NameValuePair> qparams = new ArrayList<NameValuePair>();
		
		//示例:提交使用者名稱和密碼
		qparams.add(new BasicNameValuePair("myUsername", "username"));
		qparams.add(new BasicNameValuePair("myPassword", "password"));
		
		//設定需要訪問的URL,第四個引數為表單提交路徑
		URI uri = URIUtils.createURI("http", "www.yourDomain.com", -1, "/loginAction",
		//將引數加入URL中
		URLEncodedUtils.format(qparams, "UTF-8"), null);
		//Post提交
		HttpPost httpPost = new HttpPost(uri);
		
		//System.out.println(httpPost.getURI());
		
		//httpClient執行,返回response
		HttpResponse response = httpClient.execute(httpPost);
		
		//獲取實體
		HttpEntity httpEntity= response.getEntity();
		   
		//列印StatusLine
	    System.out.println("StatusLine: " + response.getStatusLine());
	    
	    //讀取內容 
	    String content = EntityUtils.toString(httpEntity, "UTF-8");
	    //列印輸出結果內容
	    System.out.println(content);

	}

}