好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

查看更多关于java使用common-httpclient包实现post请求方法示例的详细内容...

  阅读:50次