话不多说 , 先看代码!
/ ** * Créé par David le 2017-7-5. * / Importer com.google.gson.jsonObject; import com.google.gson.jsonParser; import java.io.bufferederader; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.net.httpurlconnet; import java.net.url; HttpRequestUtil {/ ** * 发起 http 请求并获取结果 * @param requestUrl 请求地址 * / public static jsonObject getXPath (string requestUrl) {string res = ""; JsonObject object = null; StringBuffer Buffer = new StringBuffer (); try {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); String str = null; while ((str = br.readline ())! = null) {buffer.append (str); } br.close (); isr.close (); is.close (); res = buffer.toString (); JsonParser parse = new JSonParser (); object = (jsonObject) parse.parse (res); }} catch (ioException e) {e.printStackTrace (); } return objet; } public static jsonObject postdownloadjson (String Path, String Post) {url url = null; essayez {url = new URL (chemin); HttpurlConnection httpurlconnection = (httpurlconnection) url.openconnection (); httpurlconnection.setRequestMethod ("post"); // 提交模式 // conn.SetConnectTimeout (10000); // 连接超时 单位毫秒 // conn.SetReadTimeout (2000); // 读取超时 单位毫秒 // 发送 post 请求必须设置如下两行 httpurlconnection.setDooutput); 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 bytearrayoutputStream (); int len; octet [] arr = nouveau octet [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 ("code")); System.out.println (res.get ("data")); }}看第一个方法 ,发送 Get 请求获取后台数据 , 其中 , 将返回回来的字符串解析成 JSON 对象用到了 Google 的 GSON.JAR 包 , 用到了其中 JSONPARSER 的 PARES 方法。
第二个方法 ,发送 Post 数据到后台并获取后台数据。
以上这篇 Java 发起 http 请求获取返回的 JSON 对象方法就是小编分享给大家的全部内容了 , 希望能给大家一个参考 , 也希望大家多多支持武林网。