• Java学习之HttpClient的GET与POST请求


    这篇随笔记录了HttpClient的GET和POST请求

    使用maven构建依赖包,我使用的版本是4.5.3

    <dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.3</version>
    </dependency> 

    代码如下:

     1 import org.apache.http.HttpEntity;
     2 import org.apache.http.HttpResponse;
     3 import org.apache.http.NameValuePair;
     4 import org.apache.http.client.entity.UrlEncodedFormEntity;
     5 import org.apache.http.client.methods.HttpGet;
     6 import org.apache.http.client.methods.HttpPost;
     7 import org.apache.http.impl.client.CloseableHttpClient;
     8 import org.apache.http.impl.client.HttpClients;
     9 import org.apache.http.message.BasicNameValuePair;
    10 import org.apache.http.protocol.HTTP;
    11 import org.apache.http.util.EntityUtils;
    12 
    13 import java.util.ArrayList;
    14 import java.util.List;
    15 import java.util.Map;
    16 
    17 public class HttpRequest {
    18     private static final String USER_AGENT = "Mozilla/5.0";
    19     private static final String TOKEN = "Bearer adad2342dfbcdcb44232bf6a";
    20     private static final String CONTENT_TYPE = "application/x-www-form-urlencoded";
    //发送GET请求
    21 public static String sendGet(String url){ 22 String result = ""; 23 CloseableHttpClient httpClient = HttpClients.createDefault(); 24 HttpGet httpGet = new HttpGet(url); 25 httpGet.addHeader("User-Agent", USER_AGENT); 26 httpGet.addHeader("Authorization", TOKEN); 27 try{ 28 HttpResponse response = httpClient.execute(httpGet); 29 HttpEntity entity = response.getEntity(); 30 result = EntityUtils.toString(entity); 31 }catch (Exception e){ 32 e.printStackTrace(); 33 } 34 return result; 35 } 36 //发送POST请求 37 public static String sendPost(String url,Map<String,String> mapParam){ 38 String result = ""; 39 CloseableHttpClient httpClient = HttpClients.createDefault(); 40 HttpPost httpPost = new HttpPost(url); 41 httpPost.setHeader("Content-Type",CONTENT_TYPE); 42 httpPost.addHeader("User-Agent" ,USER_AGENT); 43 httpPost.addHeader("Authorization", TOKEN); 44 try{ 45 if (mapParam != null){ 46 List<NameValuePair> postData = new ArrayList<NameValuePair>(); 47 for (Map.Entry<String,String> entry : mapParam.entrySet()){ 48 postData.add(new BasicNameValuePair(entry.getKey(),entry.getValue())); 49 } 50 httpPost.setEntity(new UrlEncodedFormEntity(postData, HTTP.UTF_8)); 51 } 52 HttpResponse response = httpClient.execute(httpPost); 53 HttpEntity entity = response.getEntity(); 54 result = EntityUtils.toString(entity); 55 }catch (Exception e){ 56 e.printStackTrace(); 57 } 58 return result; 59 } 60 }
  • 相关阅读:
    parted 2T以上磁盘分区和挂载
    MySQL 表空间恢复
    MySQL 绿色版安装
    EF core
    让vs自动提示没有using的类
    Android Studio 的 Gradle 面板没有 Task
    JMS微服务远程调用性能测试 vs .Net Core gRPC服务
    electron打包,使用electron-packager
    EasyNetQ(RabbitMQ)在处理消息时,如果抛出异常,继续不断发送到订阅队列,不断处理(也就是不自动确认消息已到达)
    调用系统默认浏览器,打开网页
  • 原文地址:https://www.cnblogs.com/zhao-gang/p/8459761.html
Copyright © 2020-2023  润新知