小编教你HttpPost方式调使用接口的3种方式

作者 : 开心源码 本文共2245个字,预计阅读时间需要6分钟 发布时间: 2022-05-12 共181人阅读

直接上代码

第一种:需要httpclient的依赖包

org.apache.httpcomponents

httpclient

4.3.5

会使用到httpcore-4.3.5.jar和httpcore-4.3.2.jar

public static String callBgrsjk(String requestParams) {

String url = null;

JSONObject jb=new JSONObject();

jb.put(“code”,0);

try {

CloseableHttpClient httpClient = HttpClients.createDefault();

RequestConfig requestConfig = RequestConfig.custom()

.setSocketTimeout(300 * 1000)

.setConnectTimeout(300 * 1000)

.build();

url = “http://URL:Port/地址”;

HttpPost post = new HttpPost(url);

post.setConfig(requestConfig);

post.setHeader(“Content-Type”,”application/json;charset=utf-8″);

StringEntity postingString = new StringEntity(requestParams,

“utf-8”);

post.setEntity(postingString);

HttpResponse response = httpClient.execute(post);

String content = EntityUtils.toString(response.getEntity());

System.out.println(content);

return content;

} catch (SocketTimeoutException e) {

LoggerUtil.error(“调使用Dat+”

+ “.aService接口超时,超时时间:” + 300

+ “秒,url:” + url + “,参数:” + requestParams, e);

return jb.toString();

} catch (Exception e) {

LoggerUtil.error(“调使用DataService接口失败,url:” + url + “,参数:” + requestParams,

e);

return jb.toString();

}

}

第二种:用jdk中的URL

/**

* 发送Http post请求

*

* @param xmlInfo

* json转化成的字符串

* @param URL

* 请求url

* @return 返回信息

*/

public static String doHttpPost(String xmlInfo, String URL) {

System.out.println(“发起的数据:” + xmlInfo);

byte[] xmlData = xmlInfo.getBytes();

InputStream instr = null;

java.io.ByteArrayOutputStream out = null;

try {

URL url = new URL(URL);

URLConnection urlCon = url.openConnection();

urlCon.setDoOutput(true);

urlCon.setDoInput(true);

urlCon.setUseCaches(false);

urlCon.setRequestProperty(“content-Type”, “application/json”);

urlCon.setRequestProperty(“charset”, “utf-8”);

urlCon.setRequestProperty(“Content-length”,

String.valueOf(xmlData.length));

System.out.println(String.valueOf(xmlData.length));

DataOutputStream printout = new DataOutputStream(

urlCon.getOutputStream());

printout.write(xmlData);

printout.flush();

printout.close();

instr = urlCon.getInputStream();

byte[] bis = IOUtils.toByteArray(instr);

String ResponseString = new String(bis, “UTF-8”);

if ((ResponseString == null) || (“”.equals(ResponseString.trim()))) {

System.out.println(“返回空”);

}

System.out.println(“返回数据为:” + ResponseString);

return ResponseString;

} catch (Exception e) {

e.printStackTrace();

return “0”;

} finally {

try {

if(out!=null){

out.close();

}

if(instr!=null){

instr.close();

}

} catch (Exception ex) {

return “0”;

}

}

}

第三种:用apache的commons包

小编教你HttpPost方式调使用接口的3种方式

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 小编教你HttpPost方式调使用接口的3种方式

发表回复