长话短说,废话不说

一、第一种方式,通过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却正常访问,而且,换另外一台预发机也能正常获取数据,目前还没有研究出个所以然。。。

以上这篇java发送http get请求的两种方法(总结)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

java发送get请求_java发送http get请求的两种方法(总结)相关推荐

  1. 【短信发送】实现腾讯云发送短信功能--工具类和SpringBoot配置两种方法实现

    实现腾讯云发送短信功能--工具类和SpringBoot配置两种方法实现 一.开通腾讯云短信服务 二.工具类--使用qcloudsms实现短信发送 三.Spring Boot项目引入短信发送功能 我们发 ...

  2. java校验码的设计_Java动态验证码单线设计的两种方法

    1.java的动态验证码我这里将介绍两种方法: 一:根据java本身提供的一种验证码的写法,这种呢只限于大家了解就可以了,因为java自带的模式编写的在实际开发中是没有意义的,所以只供学习一下就可以了 ...

  3. java中map类型_Java中Map类型遍历的两种方式对比

    Java中Map类型是存储键值对数据的类型,在编程过程经常使用,进行遍历操作对于每个Java程序员都不会模式,下面总结两种常用的遍历方式(一种keySet,一种entrySet),通过对比让你明白使用 ...

  4. 【错误记录】NDK 导入外部 so 动态库报错 ( java.lang.UnsatisfiedLinkError | Android Studio 配置外部 so 动态库两种方法 )

    文章目录 一.报错信息 二.解决方案 ( Android Studio 配置外部 so 动态库两种方法 ) 1.jniLibs 目录存放 2.libs 目录存放 一.报错信息 外部引用 so 动态库 ...

  5. java操作oracle数据_Java jdbc操作oracle数据库的两种方式

    本文由广州疯狂软件java培训分享: 第一种应该是比较古老的方法了. Windows下采用JDBC-ODBC Bridge连接oracle数据库 1. 安装oracle客户端程序,在tnsnames. ...

  6. web java获取当前时间_Java 获取当前系统时间的三种方法

    准备工作: import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; 方式一: /** ...

  7. java 镶嵌创建线程_Java多线程——之一创建线程的四种方法

    1.实现Runnable接口,重载run(),无返回值 package thread; public class ThreadRunnable implements Runnable { public ...

  8. java 获取键盘输入法_Java中接收键盘输入的三种方法

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  9. java数据同步解决方案_Java实现多线程数据同步的几种方法

    1. 应用背景 程序在设计当中如果采取多线程操作的时候,如果操作的对象是一个的话,由于多个线程共享同一块内存空间,因此经常会遇到数据安全访问的问题,下面看一个经典的问题,银行取钱的问题:1).你有一张 ...

  10. vue 获取请求url_vue 获取url里参数的两种方法小结

    我就废话不多说了,大家还是直接看代码吧~ 第一种: const query = Qs.parse(location.search.substring(1)) let passport = query. ...

最新文章

  1. 交换机软件IOS升级更简化了
  2. linux socket无延迟发送数据
  3. 列出我所知道的图像处理库
  4. (6)SMC接口采集数据出现错误(学无止境)
  5. gerber文件_90%的工程师容易忽视(一):PCB输出gerber文件,这样操作才正确!
  6. php日期数组,关于php日期数组的用法汇总
  7. Spark Streaming 之foreachRDD 输出
  8. phpPgAdmin-5.1安装配置
  9. mysql三表联合查询_求三表联合查询的SQL查询语句
  10. python报时功能_Python(PyS60)做的简单语音整点报时的实现
  11. docker安装zabbix怎样修改图标和登录页文字
  12. MarkDown中使用gif的神器:LICEcap
  13. Linux的下Ip计算器
  14. 计算机装固态硬盘会不会卡,加装SSD固态硬盘,电脑还是卡?揭晓背后原因,教你10S开机!...
  15. 如何快速下载720yun场景图片
  16. 常用的几种设计模式详解
  17. 统计分析——描述统计之数据水平描述
  18. JavaScript逆向实战:admin加密成WaQ7xbhc9TefbwK是什么加密算法?逆向思维考验、详细流程图解
  19. 解决安装调试gym出现UserWarning: WARN: The environment Humanoid-v2 is out of date.
  20. 每日算法7 —— UVa156 Ananagrams

热门文章

  1. MySql DDL日志_mysql学习日记——数据库基础与基本DDL、DML语句
  2. 诊所预约就医信息管理系统java_社区医院预约系统
  3. oracle自增存储过程,Oracle主键自增及存储过程的实现
  4. 2016 计蒜之道 初赛 第五场
  5. 东华大学2021考研基本练习题91~120
  6. Python中秋赏月专用代码【源码好又多】
  7. 微信小程序如何拍照?
  8. IMG与ISO之间的关系
  9. 基本数据类型与构造数据类型
  10. BCN点击试剂1263166-90-0,endo BCN-OH,环丙烷环辛炔羟基