当前位置: 首页 > 编程笔记 >

java使用common-httpclient包实现post请求方法示例

赫连捷
2023-03-14
本文向大家介绍java使用common-httpclient包实现post请求方法示例,包括了java使用common-httpclient包实现post请求方法示例的使用技巧和注意事项,需要的朋友参考一下

前言

项目中需要请求第三方接口,而且要求请求参数数据为json类型的。本来首先使用的是httpclient的jar包,但是因为项目中已经使用了common-httpclient的jar包,引起了冲突,所以不得不使用common-httpclient来实现。

示例代码:

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
import java.util.zip.GZIPInputStream;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.commons.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class HTTPUtils {

 private static Logger logger = LoggerFactory.getLogger(HTTPUtils.class);

 /**
  * post请求
  * @param url
  * @param json
  * @return
  */
 public static String postJosnContent(String url, String Json) throws Exception {
//  HttpPost method = new HttpPost(url); 
//  DefaultHttpClient httpClient = new DefaultHttpClient(); 
//  String ret = null;
//  try {
//   StringEntity entity = new StringEntity(Json,"UTF-8");//解决中文乱码问题  
//    entity.setContentEncoding("UTF-8"); 
//    entity.setContentType("application/json");
//    method.setEntity(entity); 
//    HttpResponse result = httpClient.execute(method); 
//    ret = EntityUtils.toString(result.getEntity()); 
//  } catch (Exception e) {
//   throw e;
//  } finally {
//   method.releaseConnection();
//  }
//  return ret;
  logger.error("请求接口参数:" + Json);
  PostMethod method = new PostMethod(url);
  HttpClient httpClient = new HttpClient();
  try {
   RequestEntity entity = new StringRequestEntity(Json,"application/json","UTF-8");
   method.setRequestEntity(entity);
   httpClient.executeMethod(method);
   logger.error("请求接口路径url:" + method.getURI().toString());
   InputStream in = method.getResponseBodyAsStream();
   //下面将stream转换为String
   StringBuffer sb = new StringBuffer();
   InputStreamReader isr = new InputStreamReader(in, "UTF-8");
   char[] b = new char[4096];
   for(int n; (n = isr.read(b)) != -1;) {
    sb.append(new String(b, 0, n));
   }
   String returnStr = sb.toString();
   return returnStr;
  } catch (Exception e) {
   e.printStackTrace();
   throw e;
  } finally {
   method.releaseConnection();
  }
 }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。

 类似资料:
  • 主要内容:Maven依赖关系,HTTP GET请求方法示例本教程演示如何使用Apache HttpClient 4.5发出Http POST请求。 HTTP POST请求方法请求服务器接受请求中包含的实体作为URI标识的Web资源。 发布的数据可以是但不限于现有资源的注释或数据格式化的JSON,XML或提交的表单数据。 服务器可以使用发布的数据来更新数据库中的资源,或处理这些数据。 Maven依赖关系 我们使用maven来管理依赖关系,并使用Apache

  • 主要内容:Maven依赖关系,HTTP Delete请求方法示例本教程演示如何使用Apache HttpClient 4.5创建Http 请求。 HTTP 请求方法请求删除由URI指定的资源。 Maven依赖关系 我们使用maven来管理依赖关系,并使用Apache 版本。 将以下依赖项添加到您的项目中,以便创建HTTP 请求方法。 pom.xml 文件的内容如下 - HTTP Delete请求方法示例 在以下示例中,我们将数据发布到资源URL: 。 该资源确

  • 主要内容:Maven依赖关系,HTTP PUT请求方法示例本教程演示如何使用Apache 发出Http PUT请求。 HTTP PUT请求方法请求服务器接受并存储提供的URI中包含的实体。 如果该URI引用已经存在的资源,则该资源被修改; 如果URI不指向现有资源,则服务器可以使用该URI创建资源。 Maven依赖关系 我们使用maven来管理依赖关系,并使用Apache 版本。 将以下依赖项添加到您的项目中,以便创建HTTP PUT请求方法。 pom.

  • 主要内容:Maven依赖关系,HTTP GET请求方法示例本教程演示如何使用Apache HttpClient 4.5发出Http GET请求。 Http GET方法表示指定资源的表示形式。 这可能与获取HTML页面一样简单,或者使用JSON,XML等格式获取资源。使用HTTP GET请求方法的请求应该是幂等的,这意味着:这些应该只能检索数据并且应该没有其他效果。 Maven依赖关系 我们使用maven来管理依赖关系,并使用Apache HttpClie

  • 本文向大家介绍php实现模拟post请求用法实例,包括了php实现模拟post请求用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现模拟post请求的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的php程序设计有所帮助。

  • 我希望使用HttpClient设置Content-Type和Authorization头,并希望为body(请求)加载xml文件,并发送Post请求。 转换为document.toString() 请帮助我使用HttpClient组合邮件请求的头和正文。