1.转自:https://blog.csdn.net/alinshen/article/details/78221567?utm_source=blogxgwz4

/*
 * 演示通过HttpClient get请求的方式获取服务器的返回数据
 */

  1. public class HttpClientDemo {  
  2.     public static void main(String[] args) throws ClientProtocolException, IOException {  
  3.         String path="http://10.0.184.105:58080/ServletDemo4/LoginServlet?username=admin&password=admin";  
  4.         //1.创建客户端访问服务器的httpclient对象   打开浏览器  
  5.         HttpClient httpclient=new DefaultHttpClient();  
  6.         //2.以请求的连接地址创建get请求对象     浏览器中输入网址  
  7.         HttpGet httpget=new HttpGet(path);  
  8.         //3.向服务器端发送请求 并且获取响应对象  浏览器中输入网址点击回车  
  9.         HttpResponse response=httpclient.execute(httpget);  
  10.         //4.获取响应对象中的响应码  
  11.         StatusLine statusLine=response.getStatusLine();//获取请求对象中的响应行对象  
  12.         int responseCode=statusLine.getStatusCode();//从状态行中获取状态码  
  13.         if(responseCode==200){  
  14.             //5.获取HttpEntity消息载体对象  可以接收和发送消息  
  15.             HttpEntity entity=response.getEntity();  
  16.             //EntityUtils中的toString()方法转换服务器的响应数据  
  17.             String str=EntityUtils.toString(entity, "utf-8");  
  18.             System.out.println("服务器的响应是:"+str);  
  19.               
  20. //          //6.从消息载体对象中获取操作的读取流对象  
  21. //          InputStream input=entity.getContent();  
  22. //          BufferedReader br=new BufferedReader(new InputStreamReader(input));  
  23. //          String str=br.readLine();  
  24. //          String result=new String(str.getBytes("gbk"), "utf-8");  
  25. //          System.out.println("服务器的响应是:"+result);  
  26. //          br.close();  
  27. //          input.close();  
  28.         }else{  
  29.             System.out.println("响应失败!");  
  30.         }  
  31.     }  
  32.   
  33.   
  34. }  


/*
 * 演示HttpClient使用Post提交方式提交数据
 * <form action="" method="post">
 *   <input type="text" name="username" value="输入值">
 *   <input type="password" name="password" value="输入值">
 * </form>
 * 
 *  username=输入值   password=输入值
 */

    1. public class HttpClientDemo4 {  
    2.     public static void main(String[] args) throws ClientProtocolException, IOException {  
    3.         String baseUrl="http://10.0.184.105:58080/ServletDemo4/LoginServlet";//username=? password=?  
    4.         HttpClient httpclient=new DefaultHttpClient();  
    5.         //以请求的url地址创建httppost请求对象  
    6.         HttpPost httppost=new HttpPost(baseUrl);  
    7.           
    8.         //NameValuePair 表示以类的形式保存提交的键值对  
    9.         NameValuePair pair1=new BasicNameValuePair("username", "ad");  
    10.         NameValuePair pair2=new BasicNameValuePair("password", "admin");  
    11.         //集合的目的就是存储需要向服务器提交的key-value对的集合  
    12.         List<NameValuePairlistPair=new ArrayList<NameValuePair>();  
    13.         listPair.add(pair1);  
    14.         listPair.add(pair2);  
    15.         //HttpEntity 封装消息的对象 可以发送和接受服务器的消息  可以通过客户端请求或者是服务器端的响应获取其对象  
    16.         HttpEntity entity=new UrlEncodedFormEntity(listPair);//创建httpEntity对象  
    17.         httppost.setEntity(entity);//将发送消息的载体对象封装到httppost对象中  
    18.           
    19.         HttpResponse response=httpclient.execute(httppost);  
    20.         int responseCode=response.getStatusLine().getStatusCode();  
    21.         if(responseCode==200){  
    22.             //得到服务器响应的消息对象  
    23.             HttpEntity httpentity=response.getEntity();  
    24.             System.out.println("服务器响应结果是:"+EntityUtils.toString(httpentity, "utf-8"));  
    25.         }else{  
    26.             System.out.println("响应失败!");  
    27.         }  
    28.     }  
    29.   
    30.   
posted on 2017-11-02 17:28  Sharpest  阅读(552)  评论(0)    收藏  举报