HttpClient下載圖片和向伺服器提交資料例項
阿新 • • 發佈:2019-02-08
使用 HttpClient 需要以下 6 個步驟:
1. 建立 HttpClient 的例項
2. 建立某種連線方法的例項,在這裡是GetMethod。在 GetMethod 的建構函式中傳入待連線的地址
3. 呼叫第一步中建立好的例項的 execute 方法來執行第二步中建立好的 method 例項
4. 讀 response
5. 釋放連線。無論執行方法是否成功,都必須釋放連線
6. 對得到後的內容進行處理
public class DemoHttpClient03 { public static void main(String[] args) throws ClientProtocolException, IOException { //1,導包 //2,得到HttpClient物件 HttpClient client = new DefaultHttpClient(); //3,設定請求方式 HttpGet get = new HttpGet("http://photocdn.sohu.com/20150610/mp18368185_1433925691994_5.jpg"); //4,執行請求, 獲取響應資訊 HttpResponse response = client.execute(get); if(response.getStatusLine().getStatusCode() == 200) { //得到實體 HttpEntity entity = response.getEntity(); byte[] data = EntityUtils.toByteArray(entity); //圖片存入磁碟 FileOutputStream fos = new FileOutputStream("d:/mpl.jpg"); fos.write(data); fos.close(); System.out.println("圖片下載成功!!!!"); } } }
public class DemoHttpClient04 { public static void main(String[] args) throws ClientProtocolException, IOException { //1, 導包 //2, 得到HttpClient物件 HttpClient client = new DefaultHttpClient(); //3, 設定請求方式 post HttpPost post = new HttpPost("http://localhost:8080/Day_28_Servlet/LoginServlet"); //6, List<BasicNameValuePair> List<BasicNameValuePair> parameters = new ArrayList(); BasicNameValuePair p1 = new BasicNameValuePair("useName", "abc"); parameters.add(p1); BasicNameValuePair p2 = new BasicNameValuePair("usePwd", "123"); parameters.add(p2); //5, 請求"實體" (封裝請求引數的物件) HttpEntity entity = new UrlEncodedFormEntity(parameters); //4, 需要給post中加入引數 post.setEntity(entity); //7, 執行請求, 獲取響應 HttpResponse response = client.execute(post); if(response.getStatusLine().getStatusCode() ==200) { //得到響應的實體 HttpEntity responseEntity = response.getEntity(); String str = EntityUtils.toString(responseEntity); System.out.println("響應的內容為 : " + str); } } }