溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java發(fā)送http get請求的兩種方式

發(fā)布時間:2020-08-22 15:14:04 來源:腳本之家 閱讀:127 作者:小明快點跑 欄目:編程語言

長話短說,廢話不說

一、第一種方式,通過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ù),目前還沒有研究出個所以然。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI