Java httpcomponents发送得到职位请求代码实例

  

引入的包为:

        & lt; !——https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient——比;   & lt; dependency>   & lt; groupId> org.apache.httpcomponents   & lt; artifactId> httpclient   & lt; version> 4.5.8   & lt;/dependency>      

实现的工具类为:

        进口com.alibaba.fastjson.JSON;   进口org.apache.http.NameValuePair;   进口org.apache.http.client.entity.UrlEncodedFormEntity;   进口org.apache.http.client.methods.CloseableHttpResponse;   进口org.apache.http.client.methods.HttpGet;   进口org.apache.http.client.methods.HttpPost;   进口org.apache.http.impl.client.CloseableHttpClient;   进口org.apache.http.impl.client.HttpClients;   进口org.apache.http.message.BasicNameValuePair;   进口org.slf4j.Logger;   进口org.slf4j.LoggerFactory;      进口java.io.IOException;   进口java.util.ArrayList;   进口java.util.HashMap;   进口并不知道;   进口java.util.Map;      公开课HttpClientHelper {   私有静态日志记录器=LoggerFactory.getLogger (HttpClientHelper.class);      私人HttpClientHelper () {      }/* *   *发起帖子请求   *   * @param url网址   * @param paramMap参数的地图格式   */公共静态孔隙sendPost(字符串url, Map<字符串,String>paramMap) {   logger.info(“开始发起帖子请求,请求地址为{},参数为{}”,url, JSON.toJSON (paramMap));   CloseableHttpResponse响应=零;      试(CloseableHttpClient httpClient=HttpClients.createDefault ()) {   字符串编码=皍tf - 8”;//创建帖子请求对象   HttpPost HttpPost=new HttpPost (url);//装填请求参数   List,列表=new ArrayList<的在();   (Map.Entry<字符串,String>条目:paramMap.entrySet ()) {   列表。添加(新BasicNameValuePair (entry.getKey (), entry.getValue ()));   }//设置参数到请求对象中   httpPost。setEntity(新UrlEncodedFormEntity(列表、编码));   httpPost。setHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);   httpPost。setHeader(“用户代理”、“Mozilla/4.0(兼容;MSIE 5.0;Windows NT;DigExt) ");   响应=httpClient.execute (httpPost);      }捕捉(IOException e) {   记录器。错误(“后请求发出失败,请求的地址为{},参数为{},错误信息为{}”,url, JSON.toJSON (paramMap) e.getMessage (), e);   最后}{   尝试{   如果(响应!=null) {   response.close ();   }   }捕捉(IOException e) {   记录器。错误(“后请求响应关闭异常,错误信息为{}”,e.getMessage (), e);   }   }   }/* *   *发起得到请求   *   * @param urlParam url请求,包含参数   */公共静态孔隙sendGet(字符串urlParam) {   logger.info(“开始发起得到请求,请求地址为{}”,urlParam);   HttpGet HttpGet=new HttpGet (urlParam);   CloseableHttpResponse响应=零;   试(CloseableHttpClient httpClient=HttpClients.createDefault ()) {   响应=httpClient.execute (httpGet);   .getStatusCode int状态=response.getStatusLine () ();   记录器。错误(“请求发出成功,请求的地址为{},返回状态为{}”,urlParam,状态);   }捕捉(IOException e) {   记录器。错误(“请求发出失败,请求的地址为{},错误信息为{}”,urlParam, e.getMessage (), e);   最后}{   尝试{   如果(响应!=null) {   response.close ();   }   }捕捉(IOException e) {   记录器。错误(“请求响应关闭异常,错误信息为{}”,e.getMessage (), e);   }   }   }      公共静态void main (String [] args) {   字符串url=" https://jiashubing.cn/tencenttest ";//需要传入的参数   String> Map<字符串;地图=new HashMap<在();   地图。把(“代码”,“js”);   地图。把(“天”、“0”);   地图。把(“城”、“北京”);   地图。把(“展开”,“1”);   地图。把(“字符集”、“utf - 8”);   sendPost (url,地图);         字符串urlParam=" https://jiashubing.cn/talk/document& # 63;文件标识=1234霁贾树丙”;   sendGet (urlParam);   }   }      

如果帖子请求想要发送Json格式的数据,只需要修改成这样:

  
  

字符串json=JSON.toJSONString (paramMap);
  StringEntity requestEntity=new StringEntity (json,“utf - 8”);
  

httpPost.setEntity (requestEntity);      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Java httpcomponents发送得到职位请求代码实例