话不多说 先看代码! 先看代码!
/*** Creado por David el 2017-7-5. */import com.google.gson.jsonObject; import com.google.gson.jsonparser; import java.io.bufferedReader; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreamreader; import java.net.httpurlconnection; import java.net; HttprequestUtil { / ** * 发起 http 请求并获取结果 * @param requestUrl 请求地址 * / public static jsonObject getxpath (string requestUrl) {string res = ""; JSONObject Object = NULL; StringBuffer Buffer = new StringBuffer (); intente {url url = new URL (requestUrl); Httpurlconnection urlcon = (httpurlconnection) url.openconnection (); if (200 == urlcon.getResponseCode ()) {inputStream is = urlCon.getInputStream (); InputStreamReader isr = new InputStreamReader (is, "UTF-8"); BufferedReader BR = New BufferedReader (ISR); Cadena str = nulo; while ((str = br.readline ())! = null) {buffer.append (str); } br.close (); isr.close (); is.close (); res = buffer.ToString (); Jsonparser parse = new JsonParser (); objeto = (jsonObject) parse.parse (res); }} catch (ioException e) {E.PrintStackTrace (); } objeto de retorno; } public static jsonObject postdownloadjson (string ruta, string post) {url url = null; intente {url = new url (ruta); Httpurlconnection httpurlconnection = (httpurlconnection) url.openconnection (); httpurlconnection.setRequestMethod ("post"); // 提交模式 // conn.setConnectTimeOut (10000); // 连接超时 单位毫秒 // Conn.SetEreadTeout (2000); // 读取超时 单位毫秒 // 发送 Post 请求必须设置如下两行 httpurlconnection.setDooutput (true); httpurlconnection.setDoInput (true); // 获取 UrlConnection 对象对应的输出流 PrintWriter PrintWriter = new PrintWriter (httpurlConnection.getOutputStream ()); // 发送请求参数 printWriter.Write (post); // post 的参数 xx = xx & yy = yy // flush 输出流的缓冲 printwriter.flush (); // 开始获取数据 bufferedInputStream bis = new BufferedInputStream (httpurlconnection.getInputStream ()); ByteArRayOutputStream bos = new ByteArRaReOutputStream (); int len; byte [] arr = new Byte [1024]; while ((len = bis.read (arr))! = -1) {bos.write (arr, 0, len); bos.flush (); } bos.close (); Jsonparser parse = new JsonParser (); return (jsonObject) parse.parse (bos.ToString ("utf-8")); } catch (Exception e) {E.PrintStackTrace (); } return null; } // 测试 public static void main (string args []) {jsonObject res = null; // res = getxpath ("http://ip.taobao.com/service/getipinfo.php?ip=63.223.108.42"); res = postdownloadjson ("http://ip.taobao.com/service/getipinfo.php?ip=63.223.108.42", "123"); System.out.println (res); System.out.println (res.get ("código")); System.out.println (res.get ("data")); }}看第一个方法 ,发送 发送 请求获取后台数据 请求获取后台数据 其中 其中 将返回回来的字符串解析成 json 对象用到了 google 的 gson.jar 包 , 用到了其中 jsonparser 的 parse 方法。
第二个方法发送 发送 Post 数据到后台并获取后台数据。
以上这篇 java 发起 http 请求获取返回的 json 对象方法就是小编分享给大家的全部内容了 , 希望能给大家一个参考 也希望大家多多支持武林网。