java发送http get请求的两种方式
长话短说,废话不说
一、第一种方式,通过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请求的两种方式相关推荐
- java发送get请求_java发送http get请求的两种方法(总结)
长话短说,废话不说 一.第一种方式,通过HttpClient方式,代码如下: public static String httpGet(String url, String charset) thro ...
- Java中线程的创建有两种方式
Java中继承thread类与实现Runnable接口的区别 Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2. 通过 ...
- java的websocket_java 实现websocket的两种方式实例详解
一.介绍 1.两种方式,一种使用tomcat的websocket实现,一种使用spring的websocket 2.tomcat的方式需要tomcat 7.x,JEE7的支持. 3.spring与we ...
- websocket java 例子_java 实现websocket的两种方式实例详解
目录 一.介绍 1.两种方式,一种使用tomcat的websocket实现,一种使用spring的websocket 2.tomcat的方式需要tomcat 7.x,JEE7的支持. 3.spring ...
- 探讨Netty获取并检查Websocket握手请求的两种方式
在使用Netty开发Websocket服务时,通常需要解析来自客户端请求的URL.Headers等等相关内容,并做相关检查或处理.本文将讨论两种实现方法. 方法一:基于HandshakeComplet ...
- JavaScript实现同步Ajax请求的两种方式
JavaScript的Ajax请求默认是异步的,有以下两种方式能让Ajax请求变成同步 方式一 使用ES7的Async和Await async function main(){const env = ...
- android不调用系统发送短信,android之两种方式调用短信发送接口
释放双眼,带上耳机,听听看~! 相信很多程序员在开发程序的时候都会遇到短信调用端口的情况,今天是技术狗小编为大家带来的关于android之两种方式调用短信发送接口,希望对你学习这方面知识有帮助! an ...
- java 深克隆_Java实现深克隆的两种方式
序列化和依次克隆各个可变的引用类型都可以实现深克隆,但是序列化的效率并不理想 下面是两种实现深克隆的实例,并且测试类对两种方法进行了对比: 1.重写clone方法使用父类中的clone()方法实现深克 ...
- Java Spark之创建RDD的两种方式和操作RDD
首先看看思维导图,我的spark是1.6.1版本,jdk是1.7版本 spark是什么? Spark是基于内存计算的大数据并行计算框架.Spark基于内存计算,提高了在大数据环境下数据处理的实时性, ...
最新文章
- ELK安装文档及相关优化
- 为什么要用这些框架来进行开发,直接new一个对象不香吗?
- 分区和分片的区别_数据库的分表、分库、分片和分区等区别
- 使用mpvue开发小程序教程(二)
- 【STM32】窗口看门狗 WWDG 实验代码详解
- PD003-NET通用后台系统
- pythonelectron桌面开发案例_electron vue桌面应用入门实例
- PAT 1039. 到底买不买(20)
- Redis--缓存设计与性能优化
- bzoj 1626: [Usaco2007 Dec]Building Roads 修建道路(最小生成树)
- macOS Big Sur Beta4 无法收到更新通知解决办法
- 33.错误处理(2)
- 电脑使用技巧提升篇2:修改电脑桌面固定图标
- 新型城镇化提质扩容 打造民村智慧城市
- 台式计算机亮度设置,怎么调台式电脑亮度_怎么调台式电脑的亮度
- 怎么用python统计字数_Python统计字数的思路详解
- 科大讯飞离线语音命令词识别的使用说明
- Hi3516DV300
- 随着计算机技术的快速发展,随着计算机技术的发展,计算机的应用范围也越来越广...
- 岭南学院python课程作业1
热门文章
- 邮件营销的三个基本要素讲解
- 解决VisualStudio 05/08智能提示显示1秒钟
- 对视觉任务更友好的Transformer,北航团队开源Visformer!
- 微软开源了一个用TF实现的GNN例程库
- ICCV 2019 | 可变形曲面跟踪,亮风台新出基于图匹配的方法
- ICCV 2019 | 微软开源跨视图融合的3D人体姿态估计算法,大幅改进SOTA精度
- 昨天刚招到一个程序员,第一天入职就离职了....因为不加班
- 收藏 | 人工智能与模式识别会议集锦
- RoI Pooling 系列方法介绍(文末附源码)
- 深度学习(五十九)mxnet移植至android