1. 程式人生 > >HttpClient使用post方式模擬表單提交資料到伺服器並下載伺服器檔案

HttpClient使用post方式模擬表單提交資料到伺服器並下載伺服器檔案

public class HttpClientPostUtil {  public static String  loginGet(String url,String username,String password){       HttpClient client = new DefaultHttpClient(); //客戶端物件       HttpPost post  = new HttpPost(url);             //請求物件 NameValuePair pai1 = new BasicNameValuePair("username",username); NameValuePair
 pai2 =
 new BasicNameValuePair("password",password);       List< NameValuePair>list = new ArrayList< NameValuePair>();       list.add(pai1);       list.add(pai2);  try {             HttpEntity entity = new UrlEncodedFormEntity(list);//模擬form進行表單提交              post.setEntity(entity);                              
 //banding內容              HttpResponse response = client.execute(post); //連線伺服器  if(response.getStatusLine().getStatusCode()==200){                    HttpEntity entit =  response.getEntity(); //獲取內容  return EntityUtils.toString(entit, "utf-8");              }       } catch (UnsupportedEncodingException e) {
 // TODO Auto-generated catch block             e.printStackTrace();       } catch (ClientProtocolException e) {  // TODO Auto-generated catch block             e.printStackTrace();       } catch (IOException e) {  // TODO Auto-generated catch block             e.printStackTrace();       }  return "";       }  public static void downFile(String urlStr,String target){             HttpClient client = new DefaultHttpClient();             HttpPost get = new HttpPost(urlStr);             FileOutputStream fos= null;  try {                   HttpResponse response=client.execute(get);  if(response.getStatusLine().getStatusCode()==200){                         HttpEntity entity = response.getEntity();                          fos = new FileOutputStream(target);                          fos.write(EntityUtils. toByteArray(entity));        //寫入到磁碟                          System. out.println("sucess!" );  /*                          InputStream  is = entity.getContent();                          byte [] b = new byte[1024*800];  int tem =0;                          while(( tem=is.read())!=-1){                                fos.write(b, 0, tem);                          }                          */                    }                   fos.flush();                   fos.close();             } catch (ClientProtocolException e) {  // TODO Auto-generated catch block                   e.printStackTrace();             } catch (IOException e) {  // TODO Auto-generated catch block                   e.printStackTrace();             }       } } 測試類 public class HttpClientPostTest {  public static void main(String[] args) {  // TODO Auto-generated method stub        String url ="http://localhost:8080/mp3/servlet/HttpClientServlet" ;        Scanner s = new Scanner(System.in);        System. out.println("請輸入使用者名稱" );        String name = s.next();        System. out.println("請輸入密碼" );        String password = s.next();        String msg= HttpClientPostUtil. loginGet(url,name,password);        System. out.println(msg); //       String str1 = "http://localhost:8080/mp3/aixi.jpg"; //       String target="d:\\aixiPost.jpg"; //       HttpClientPostUtil.downFile(str1, target);       } }