话不多说 , 先看代码!
/*** Создано Дэвидом 2017-7-5. */import com.google.gson.jsonobject; import com.google.gson.jsonparser; импорт java.io.bufferedReader; import java.io.ioexception; импорт java.io.inputStream; импорт java.io.intreamreader; импорт java.net.httpurleam; import.net.net.net. 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.openconcenection (); if (200 == urlCon.getResponseCode ()) {inputStream IS = urlCon.getInputStream (); InputStreamReader ISR = новый inputStreamReader (IS, "UTF-8"); BufferedReader BR = новый 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 object; } public static jsonObject postdownloadjson (String Path, String post) {url url = null; try {url = new url (path); Httpurlconnection httpurlconnection = (httpurlconnection) url.openconcenection (); httpurlConnection.setRequestMethod ("post"); // 提交模式 // conn.setConnecttimeout (10000); // 连接超时 单位毫秒 // conn.setReadtimeout (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 BytearRayOutputStream (); int len; байт [] arr = новый байт [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")); }}看第一个方法 ,发送 Получите 请求获取后台数据 其中 其中 将返回回来的字符串解析成 将返回回来的字符串解析成 json 对象用到了 Google 的 gson.jar 包 用到了其中 jsonparser 的 parse 方法。
第二个方法 ,发送 post 数据到后台并获取后台数据。
以上这篇 java 发起 http 请求获取返回的 json 对象方法就是小编分享给大家的全部内容了 , 希望能给大家一个参考 也希望大家多多支持武林网。 也希望大家多多支持武林网。