长话短说,废话不说

  一、第一种方式,通过HttpClient方式,代码如下:

public static String httpGet(String url, String charset)throws HttpException, IOException {String json = null;HttpGet httpGet = new HttpGet();// 设置参数try {httpGet.setURI(new URI(url));} catch (URISyntaxException e) {throw new HttpException("请求url格式错误。"+e.getMessage());}// 发送请求HttpResponse httpResponse = client.execute(httpGet);// 获取返回的数据HttpEntity entity = httpResponse.getEntity();byte[] body = EntityUtils.toByteArray(entity);StatusLine sL = httpResponse.getStatusLine();int statusCode = sL.getStatusCode();if (statusCode == 200) {json = new String(body, charset);entity.consumeContent();} else {throw new HttpException("statusCode="+statusCode);}return json;
}

  二、第二种方式,通过流的形式,贴代码:

  

    /*** 发送http get请求* * @param getUrl* @return*/public String sendGetRequest(String getUrl){StringBuffer sb = new StringBuffer();InputStreamReader isr = null;BufferedReader br = null;try{URL url = new URL(getUrl);URLConnection urlConnection = url.openConnection();urlConnection.setAllowUserInteraction(false);isr = new InputStreamReader(url.openStream());br = new BufferedReader(isr);String line;while ((line = br.readLine()) != null){sb.append(line);}}catch (IOException e){e.printStackTrace();}finally{fileOperator.closeResources(isr, br);}return sb.toString();}
}

  这两种实现方式不同,怎么使用看个人喜好吧,不过我在项目开发过程中,使用流的方式部署在预发机(linux机器)上会出现发送请求返回null的情况,但是本地windows却正常访问,而且,换另外一台预发机也能正常获取数据,目前还没有研究出个所以然。。。

补充:问题找到原因了,因为公司不管是测试环境机器还是正式环境机器,访问公网都是要权限审批的,因此当我去请求乐视时没有访问api.letvcloud.com公网的权限,权限开通后,问题解决,一切正常

  

  

转载于:https://www.cnblogs.com/xiaoming0601/p/6904664.html

java发送http get请求的两种方式相关推荐

  1. java发送get请求_java发送http get请求的两种方法(总结)

    长话短说,废话不说 一.第一种方式,通过HttpClient方式,代码如下: public static String httpGet(String url, String charset) thro ...

  2. Java中线程的创建有两种方式

    Java中继承thread类与实现Runnable接口的区别 Java中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过 ...

  3. java的websocket_java 实现websocket的两种方式实例详解

    一.介绍 1.两种方式,一种使用tomcat的websocket实现,一种使用spring的websocket 2.tomcat的方式需要tomcat 7.x,JEE7的支持. 3.spring与we ...

  4. websocket java 例子_java 实现websocket的两种方式实例详解

    目录 一.介绍 1.两种方式,一种使用tomcat的websocket实现,一种使用spring的websocket 2.tomcat的方式需要tomcat 7.x,JEE7的支持. 3.spring ...

  5. 探讨Netty获取并检查Websocket握手请求的两种方式

    在使用Netty开发Websocket服务时,通常需要解析来自客户端请求的URL.Headers等等相关内容,并做相关检查或处理.本文将讨论两种实现方法. 方法一:基于HandshakeComplet ...

  6. JavaScript实现同步Ajax请求的两种方式

    JavaScript的Ajax请求默认是异步的,有以下两种方式能让Ajax请求变成同步 方式一 使用ES7的Async和Await async function main(){const env = ...

  7. android不调用系统发送短信,android之两种方式调用短信发送接口

    释放双眼,带上耳机,听听看~! 相信很多程序员在开发程序的时候都会遇到短信调用端口的情况,今天是技术狗小编为大家带来的关于android之两种方式调用短信发送接口,希望对你学习这方面知识有帮助! an ...

  8. java 深克隆_Java实现深克隆的两种方式

    序列化和依次克隆各个可变的引用类型都可以实现深克隆,但是序列化的效率并不理想 下面是两种实现深克隆的实例,并且测试类对两种方法进行了对比: 1.重写clone方法使用父类中的clone()方法实现深克 ...

  9. Java Spark之创建RDD的两种方式和操作RDD

    首先看看思维导图,我的spark是1.6.1版本,jdk是1.7版本 spark是什么?  Spark是基于内存计算的大数据并行计算框架.Spark基于内存计算,提高了在大数据环境下数据处理的实时性, ...

最新文章

  1. ELK安装文档及相关优化
  2. 为什么要用这些框架来进行开发,直接new一个对象不香吗?
  3. 分区和分片的区别_数据库的分表、分库、分片和分区等区别
  4. 使用mpvue开发小程序教程(二)
  5. 【STM32】窗口看门狗 WWDG 实验代码详解
  6. PD003-NET通用后台系统
  7. pythonelectron桌面开发案例_electron vue桌面应用入门实例
  8. PAT 1039. 到底买不买(20)
  9. Redis--缓存设计与性能优化
  10. bzoj 1626: [Usaco2007 Dec]Building Roads 修建道路(最小生成树)
  11. macOS Big Sur Beta4 无法收到更新通知解决办法
  12. 33.错误处理(2)
  13. 电脑使用技巧提升篇2:修改电脑桌面固定图标
  14. 新型城镇化提质扩容 打造民村智慧城市
  15. 台式计算机亮度设置,怎么调台式电脑亮度_怎么调台式电脑的亮度
  16. 怎么用python统计字数_Python统计字数的思路详解
  17. 科大讯飞离线语音命令词识别的使用说明
  18. Hi3516DV300
  19. 随着计算机技术的快速发展,随着计算机技术的发展,计算机的应用范围也越来越广...
  20. 岭南学院python课程作业1

热门文章

  1. 邮件营销的三个基本要素讲解
  2. 解决VisualStudio 05/08智能提示显示1秒钟
  3. 对视觉任务更友好的Transformer,北航团队开源Visformer!
  4. 微软开源了一个用TF实现的GNN例程库
  5. ICCV 2019 | 可变形曲面跟踪,亮风台新出基于图匹配的方法
  6. ICCV 2019 | 微软开源跨视图融合的3D人体姿态估计算法,大幅改进SOTA精度
  7. 昨天刚招到一个程序员,第一天入职就离职了....因为不加班
  8. 收藏 | 人工智能与模式识别会议集锦
  9. RoI Pooling 系列方法介绍(文末附源码)
  10. 深度学习(五十九)mxnet移植至android