依赖于Apache模拟Http请求

一、依赖的jar包

httpclient-4.5.jar
httpclient-cache-4.5.jar
httpcore-4.4.1.jar

package com.lava.lavafaq.utils;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

/*
 * 依赖于Apache库
 */
public class HttpRequest {  
    
    public static String get(String url)
    { 
        String result="";
        CloseableHttpClient client = HttpClients.createDefault();
        try
        {
             HttpGet httpGet = new HttpGet(url);
             CloseableHttpResponse resp = client.execute(httpGet);
             try
             {
                 HttpEntity entity = resp.getEntity();
                 if (null != entity)
                 {                    
                     result=EntityUtils.toString(entity);
                 }
             }
             catch(Exception e)
             {
                 
             }
             finally
             {
                 resp.close();
             }
        }
        catch(Exception e)
        {
            
        }
        finally
        {
            try {
                client.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return result;
    }
    
    
    public static String post(String url,List<NameValuePair> paramPairs)
    {
        String result="";
         // 1. 获取默认的client实例
        CloseableHttpClient client = HttpClients.createDefault();
        // 2. 创建httppost实例
        HttpPost httpPost = new HttpPost(url);
        // 3. 创建参数队列(键值对列表)
//        List<NameValuePair> paramPairs = new ArrayList<NameValuePair>();
//         paramPairs.add(new BasicNameValuePair("username", "admin"));
//         paramPairs.add(new BasicNameValuePair("password", "123456"));
         UrlEncodedFormEntity entity;
         try
         {
            // 4. 将参数设置到entity对象中
             entity = new UrlEncodedFormEntity(paramPairs, "UTF-8");
             // 5. 将entity对象设置到httppost对象中
             httpPost.setEntity(entity);
             System.out.println("executing POST request " + httpPost.getURI());
            // 6. 发送请求并回去响应
             CloseableHttpResponse resp = client.execute(httpPost);
             try
             {
                  HttpEntity respEntity = resp.getEntity();
                  if (null != respEntity) 
                  {
                      result=EntityUtils.toString(respEntity, "UTF-8");                      
                  }                 
                 
             }
             catch(Exception e)
             {

             }
             finally
             { 
                 // 9. 关闭响应对象
                 resp.close();
             }
         }
         catch(Exception e)
         {
             
         }
         finally
         {
            // 10. 关闭连接,释放资源
             try {
                client.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
         }
         return result;
    }
}


猜你喜欢

转载自www.cnblogs.com/liandy0906/p/9027437.html