話不多說,先看代碼! ,先看代碼!
/***由David創建於2017-7-5。 */import com.google.gson.jsonobject; import com.google.gson.jsonparser; import java.io.bufferedreader; import java.io.io.io.io.io.io.io.io.io.io.io.io.io.io.inputstream; import java httprequestutil { / ** *發起http請求並獲取結果 * @param requestUrl請求地址 * / public static jsonObject getxpath(string requesturl){string res =“”; jsonObject對象= null; StringBuffer buffer = new StringBuffer();嘗試{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);字符串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(); }返回對象; } public static jsonObject potsdownloadjson(字符串路徑,字符串post){url url = null;嘗試{url = new url(path); httpurlconnection httpurlConnection =(httpurlConnection)url.openconnection(); 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 flush輸出流的緩衝printwriter.flush(); //開始獲取數據bufferedInputStream bis = new BufferedInputStream(httpurlConnection.getInputStream()); ByTearRayOutputStream bos = new ByTearRayOutputStream(); int len;字節[] arr = new Byte [1024]; while(((len = bis.read(arr))!= -1){bos.write(arr,0,len); bos.flush(); } bos.close(); JSONPARSER PARSE = New JSONPARSER();返回(jsonObject)parse.parse(bos.tostring(“ utf-8”)); } catch(異常E){e.printstacktrace(); }返回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(“代碼”)); system.out.println(res.get(“ data”)); }}}看第一個方法,發送
第二個方法, post數據到後台並獲取後台數據。
以上這篇java發起http請求獲取返回的json,希望能給大家一個參考,也希望大家多多支持武林網。 ,也希望大家多多支持武林網。