java發(fā)送http get請求的兩種方式
長話短說,廢話不說
一、第一種方式,通過HttpClient方式,代碼如下:
public static String httpGet(String url, String charset) throws HttpException, IOException { String json = null; HttpGet httpGet = new HttpGet(); // 設置參數(shù) try { httpGet.setURI(new URI(url)); } catch (URISyntaxException e) { throw new HttpException("請求url格式錯誤。"+e.getMessage()); } // 發(fā)送請求 HttpResponse httpResponse = client.execute(httpGet); // 獲取返回的數(shù)據(jù) HttpEntity entity = httpResponse.getEntity(); byte[] body = EntityUtils.toByteArray(entity); StatusLine sL = httpResponse.getStatusLine(); int statusCode = sL.getStatusCode(); if (statusCode == 200) { json = new String(body, charset); entity.consumeContent(); } else { throw new HttpException("statusCode="+statusCode); } return json; }
二、第二種方式,通過流的形式,貼代碼:
/** * 發(fā)送http get請求 * * @param getUrl * @return */ public String sendGetRequest(String getUrl) { StringBuffer sb = new StringBuffer(); InputStreamReader isr = null; BufferedReader br = null; try { URL url = new URL(getUrl); URLConnection urlConnection = url.openConnection(); urlConnection.setAllowUserInteraction(false); isr = new InputStreamReader(url.openStream()); br = new BufferedReader(isr); String line; while ((line = br.readLine()) != null) { sb.append(line); } } catch (IOException e) { e.printStackTrace(); } finally { fileOperator.closeResources(isr, br); } return sb.toString(); } }
這兩種實現(xiàn)方式不同,怎么使用看個人喜好吧,不過我在項目開發(fā)過程中,使用流的方式部署在預發(fā)機(linux機器)上會出現(xiàn)返回null的情況,但是本地windows卻正常訪問,而且,換另外一臺預發(fā)機也能正常獲取數(shù)據(jù),目前還沒有研究出個所以然。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Windows下后端如何啟動SpringBoot的Jar項目
這篇文章主要介紹了Windows下后端如何啟動SpringBoot的Jar項目問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07MyBatis-Plus中如何實現(xiàn)動態(tài)表名
這篇文章主要介紹了MyBatis-Plus中如何實現(xiàn)動態(tài)表名問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07詳解java數(shù)組進行翻轉(zhuǎn)的方法有哪些
這篇文章主要介紹了詳解java數(shù)組進行翻轉(zhuǎn)的方法有哪些,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01idea2019.1.4 鼠標放到方法上顯示注解的實現(xiàn)操作
這篇文章主要介紹了idea2019.1.4 鼠標放到方法上顯示注解的實現(xiàn)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02Spring Boot中的那些條件判斷的實現(xiàn)方法
這篇文章主要介紹了Spring Boot中的那些條件判斷的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04