话不多说 , 先看代码!
/*** تم إنشاؤه بواسطة David على 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.inputstreamreader ؛ import java.net.httpurlconnection ؛ httprequestutil { / ** * 发起 http 请求并获取结果 * param requesturl 请求地址 * / public static jsonobject getxpath (string requesturl) {string res = "" ؛ كائن jsonobject = فارغ ؛ StringBuffer Buffer = new StringBuffer () ؛ حاول {url url = url new (requesturl) ؛ httpurlConnection urlcon = (httpurlConnection) url.openconnection () ؛ if (200 == urlcon.getResponsecode ()) {inputStream هو = urlCon.getInputStream () ؛ inputStreamReader ISR = جديد inputStreamReader (IS ، "UTF-8") ؛ BufferedReader BR = جديد BufferedReader (ISR) ؛ سلسلة str = null ؛ بينما ((str = br.readline ())! = null) {buffer.append (str) ؛ } br.close () ؛ isr.close () ؛ is.close () ؛ الدقة = buffer.toString () ؛ jsonparser parse = new jsonparser () ؛ Object = (jsonobject) parse.parse (res) ؛ }} catch (ioException e) {E.PrintStackTrace () ؛ } كائن الإرجاع ؛ } jSonObject postdownloadjson الثابتة العامة (مسار السلسلة ، post string) {url url = null ؛ حاول {url = url new (path) ؛ httpurlConnection httpurlConnection = (httpurlConnection) url.openconnection () ؛ httpurlconnection.setRequestMethod ("post") ؛ // 提交模式 // conn.setConnectTimeout (10000) ؛ // 连接超时 单位毫秒 // conn.setReadTimeout (2000) ؛ // 读取超时 单位毫秒 // 发送 post 请求必须设置如下两行 httpurlconnection.setdoutput (true) ؛ httpurlconnection.setDoInput (صواب) ؛ // 获取 urlConnection 对象对应的输出流 printWriter printWriter = new printWriter (httpurlConnection.getOutputStream ()) ؛ // 发送请求参数 printWriter.write (post) ؛ // post 的参数 xx = xx & yy = yy // flush 输出流的缓冲 printWriter.flush () ؛ // 开始获取数据 bufferedInputStream BIS = جديد bufferedInputStream (httpurlConnection.getInputStream ()) ؛ bytearrayoutputstream bos = جديد bytearrayoutputStream () ؛ int len ؛ Byte [] arr = new byte [1024] ؛ بينما ((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 (استثناء e) {E.PrintStackTrace () ؛ } إرجاع فارغ ؛ } // 测试 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
第二个方法 ,发送 post 数据到后台并获取后台数据。
以上这篇 java 发起 http 请求获取返回的 json 对象方法就是小编分享给大家的全部内容了 , , , 也希望大家多多支持武林网。