HttpClient 的 Post 提交表單簡單示例
阿新 • • 發佈:2019-02-07
示例很簡單,主要用來熟悉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); } }