java发送http get请求的两种方式
程序员文章站
2024-02-20 08:22:52
长话短说,废话不说
一、第一种方式,通过httpclient方式,代码如下:
public static string httpget(string url,...
长话短说,废话不说
一、第一种方式,通过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发送http get请求的两种方法(总结)
-
java利用java.net.URLConnection发送HTTP请求的方法详解
-
java 发送http和https请求的实例
-
如何设置Fiddler来拦截Java代码发送的HTTP请求,进行各种问题排查 fiddlejavahttp抓包
-
JAVA中HTTP通信 以GET和POST方式向WEB服务器提交信息,并接收WEB服务器返回的响应
-
HTTP的GET请求RUL保留字处理方式(多个解决方案)
-
如何设置Fiddler来拦截Java代码发送的HTTP请求,进行各种问题排查
-
java发送http get请求的两种方式
-
java发送http get请求的两种方法(总结)