话不多说 , 先看代码!
/*** Dibuat oleh David pada 2017-7-5. */impor com.google.gson.jsonobject; import com.google.gson.jsonparser; impor java.io.bufferedreader; import java.io.ioexception; impor java.io.inputStream; import java.putreMreader; impor java.net.net.net.nte.ntection; HttpRequesTutil { / ** * 发起 http 请求并获取结果 * @param requestUrl 请求地址 * / public static jsonObject getXpath (string requestUrl) {string res = ""; Objek jsonObject = null; StringBuffer buffer = stringBuffer baru (); coba {url url = url baru (requestUrl); HttpurlConnection urlcon = (httpurlconnection) url.openconnection (); if (200 == urlcon.getResponsecode ()) {inputStream adalah = urlcon.getInputStream (); InputStreamReader ISR = InputStreamReader baru (IS, "UTF-8"); BufferedReader BR = BufferedReader baru (ISR); String str = null; while ((str = br.readline ())! = null) {buffer.append (str); } br.close (); isr.close (); is.close (); res = buffer.toString (); Jsonparser parse = jsonparser baru (); Object = (jsonObject) parse.parse (res); }} catch (ioException e) {E.PrintStackTrace (); } return objek; } public static jsonObject postdownloadjson (string path, string post) {url url = null; coba {url = url baru (path); HttpUrlConnection httpurlConnection = (httpurlconnection) url.openconnection (); httpurlconnection.setRequestMethod ("post"); // 提交模式 // conn.setConnecttimeout (10000); // 连接超时 单位毫秒 // conn.setreadtimeout (2000); // 读取超时 单位毫秒 // 发送 Posting 请求必须设置如下两行 httpurlconnection.setdooutput (true); httpurlconnection.setDoInput (true); // 获取 UrlConnection 对象对应的输出流 printwriter printwriter = printwriter baru (httpurlconnection.getoutputStream ()); // 发送请求参数 printwriter.write (post); // Posting 的参数 xx = xx & yy = yy // flush 输出流的缓冲 printwriter.flush (); // 开始获取数据 bufferedInputStream bis = baru bufferedInputStream (httpurlConnection.getInputStream ()); BytearrayoutputStream bos = new bytearrayoutputStream (); int len; byte [] arr = byte baru [1024]; while ((len = bis.read (arr))! = -1) {bos.write (arr, 0, len); bos.flush (); } bos.close (); Jsonparser parse = jsonparser baru (); 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 ("kode")); System.out.println (res.get ("data")); }}看第一个方法 ,发送 发送 发送 发送 发送 , , 其中 , 将返回回来的字符串解析成 将返回回来的字符串解析成 对象用到了 google 的 gson.jar 包 , 用到了其中 jsonparser 的 parse 方法。
第二个方法 ,发送 Posting 数据到后台并获取后台数据。
以上这篇 java 发起 http 请求获取返回的 json 对象方法就是小编分享给大家的全部内容了 , 希望能给大家一个参考 , 也希望大家多多支持武林网。