服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - java使用common-httpclient包实现post请求方法示例

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

2021-05-25 12:09噬月幽狼 Java教程

这篇文章主要给大家介绍了关于java使用common-httpclient包实现post请求的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

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

示例代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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();
  }
 }
}

总结

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

原文链接:https://blog.csdn.net/u010398838/article/details/80708632

延伸 · 阅读

精彩推荐