前言
项目中需要请求第三方接口,而且要求请求参数数据为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组合邮件请求的头和正文。