1. 程式人生 > >HttpClient下載圖片和向伺服器提交資料例項

HttpClient下載圖片和向伺服器提交資料例項

使用 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);
            }
	}
}