访问rest接口

访问rest接口导入 jar 包 commons beanutils 1 7 0 jarcommons collections 3 1 jarcommons lang 2 5 jarcommons logging jarezmorph 1 0 3 jarjson lib 2 4 jdk15 jarhttpclien 4 3 2 jarhttpcore 4 3 2 jar 代码 importjava i

导入jar包:

commons-beanutils-1.7.0.jar commons-collections-3.1.jar commons-lang-2.5.jar commons-logging.jar ezmorph-1.0.3.jar json-lib-2.4-jdk15.jar httpclient-4.3.2.jar httpcore-4.3.2.jar

代码:

 import java.io.IOException; import java.nio.charset.Charset; import net.sf.json.JSONObject; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; public class AccessRest { 
    private static AccessRest accessRest = null; private String apiURL = ""; private HttpClient httpClient = null; private HttpPost method = null; / * 默认构造方法 */ private AccessRest() { } / * 含参构造方法 * * @param url */ private AccessRest(String url) { if (null != url && !"".equals(url)) { this.apiURL = url; } if (null != apiURL && !"".equals(apiURL)) { httpClient = new DefaultHttpClient(); method = new HttpPost(apiURL); } } / * 单例方法 * @param url * @return */ public static AccessRest getInstance(String url) { if (accessRest == null) { accessRest = new AccessRest(url); } return accessRest; } / * 设置URL * @param url */ public void setAPIURL(String url){ this.apiURL=url; if (null != apiURL && !"".equals(apiURL)) { httpClient = new DefaultHttpClient(); method = new HttpPost(apiURL); } } / * JSON内容格式的POST请求 * @param params * @return * @throws ClientProtocolException * @throws IOException */ public String JSONToPost(String token,String params) throws ClientProtocolException, IOException { //添加post请求报文header,格式为JSON method.setHeader("Content-type","application/json; charset=utf-8"); method.setHeader("Accept", "application/json"); //添加JSON格式报文内容 method.setEntity(new StringEntity(params, Charset.forName("UTF-8"))); //访问接口 HttpResponse response = httpClient.execute(method); //构造返回值 JSONObject message = new JSONObject(); //添加状态码 message.put("StatusCode", String.valueOf(response.getStatusLine().getStatusCode())); //添加内容 message.put("Message", EntityUtils.toString(response.getEntity())); return message.toString(); } / * 普通参数访问网址 * @param params * @return * @throws ClientProtocolException * @throws IOException */ public String urlencodedToPost(String params) throws ClientProtocolException, IOException{ //设置请求报文头 method.setHeader("Content-type","application/json; charset=utf-8"); method.setHeader("Accept", "application/x-www-form-urlencoded"); //设置请求参数 method.setEntity(new StringEntity(params, Charset.forName("UTF-8"))); //访问接口 HttpResponse response = httpClient.execute(method); //构造返回值 JSONObject message = new JSONObject(); //添加状态码 message.put("StatusCode", String.valueOf(response.getStatusLine().getStatusCode())); //添加内容 message.put("Message", EntityUtils.toString(response.getEntity())); return message.toString(); } } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221191.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午6:42
下一篇 2026年3月17日 下午6:43


相关推荐

  • 养龙虾实战日记(Deepseek+Openclaw本地部署)Day2-一贯让人搞不懂

    养龙虾实战日记(Deepseek+Openclaw本地部署)Day2-一贯让人搞不懂

    2026年3月13日
    2
  • 大模型本地化部署:手把手教你部署并使用清华智谱GLM大模型

    大模型本地化部署:手把手教你部署并使用清华智谱GLM大模型

    2026年3月12日
    3
  • Python的for循环_python中的while语句

    Python的for循环_python中的while语句for循环和while循环有什么区别?众做周知,循环是Python中最基础也是最常见的知识点之一,下面我们来一起好好学习一下for循环和while循环,并对比分析两者的使用区别,帮助Python初学者可以更好地掌握两者的内容和应用,下面一起来看看吧~1、for循环(1)概念for循环可以遍历任何序列的项目,比如字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。(2)代码示例:终端…

    2022年8月12日
    9
  • 经典十大排序算法(含升序降序,基数排序含负数排序)【Java版完整代码】【建议收藏系列】[通俗易懂]

    经典十大排序算法(含升序降序,基数排序含负数排序)【Java版完整代码】【建议收藏系列】[通俗易懂]经典十大排序算法【Java版完整代码】写在前面的话十大排序算法对比冒泡排序快速排序直接选择排序堆排序归并排序插入排序希尔排序计数排序桶排序基数排序写在前面的话       虽然已经有很多人总结过这十大排序算法,优秀的文章也不少,但是Java完整版的好像不多,还存在某些文章代码存在错误的情况,同时也为了自己练手,决定把所有的写一遍巩固下,同时也真诚的希望阅读到这篇文章的小伙伴们可以自己去从头敲一遍,不要粘贴复制!希望我的文章对你有所帮助

    2022年6月11日
    29
  • excel计算机快捷键大全,excel表格使用技巧快捷键大全

    excel计算机快捷键大全,excel表格使用技巧快捷键大全EXCEL 表格是我们最常用的一个办公软件 今天为大家介绍下 excel 表格使用技巧快捷键 一起来看看吧 excel 表格使用技巧快捷键操作方法 01 基础必会篇 02Excel 常用快捷键 关闭工作簿 Ctrl W 打开工作簿 Ctrl O 转至 主页 选项卡 Alt H 保存工作簿 Ctrl S 复制 Ctrl C 粘贴 Ctrl V 撤消 Ctrl Z 删除单元格内容 Delete 键选择填充颜色 Alt H H 剪

    2026年3月16日
    2
  • navicat激活码2021-激活码分享

    (navicat激活码2021)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
    448

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号