1. 程式人生 > >HTTPclient 4.2.2 傳引數和檔案流

HTTPclient 4.2.2 傳引數和檔案流

package com.http;

import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.MultipartEntity; import org.apache.http.entity.mime.content.FileBody; import org.apache.http.entity.mime.content.StringBody; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils;
import org.junit.Test; public class HttpClientUtil { @Test public void testHttp() { //建立HttpClient物件 HttpClient client = new DefaultHttpClient(); //構建POST請求 請求地址請更換為自己的。 //1) HttpPost post = new HttpPost("XX"); File file=new File("C:\\Users\\admin\\Desktop\\xidada.jpg"); FileBody fileBody
=new FileBody(file); try { StringBody name = new StringBody("xidada.jpg"); MultipartEntity reqEntity = new MultipartEntity(); StringBody bucketId = new StringBody("402880bd66a545e90166a545f3700000"); reqEntity.addPart("bucketId", bucketId);//對應介面端的引數名稱 reqEntity.addPart("name", name); reqEntity.addPart("file", fileBody);//file1為請求後臺的File upload;屬性 post.setEntity(reqEntity); HttpResponse response = client.execute(post); int statusCode = response.getStatusLine().getStatusCode(); if(statusCode == HttpStatus.SC_OK){ System.out.println("伺服器正常響應....."); HttpEntity resEntity = response.getEntity(); System.out.println(EntityUtils.toString(resEntity));//httpclient自帶的工具類讀取返回資料 System.out.println(resEntity.getContent()); EntityUtils.consume(resEntity); } }catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }