java如何調用接口方式一


java如何調用接口

  其實對於java調用接口進行獲取對方服務器的數據在開發中特別常見,然而一些常用的基礎的知識總是掌握不牢,讓人容易忘記,寫下來閑的時候看看,比回想總會好一些。

  總體而言,一些東西知識點一直復制粘貼容易依賴,重要的是會忘記為什么這么寫,只有理解到位,或者八九不離十才可以對於隨時變化的情況進行分析,如果到家,還可以對別人或自己的進行優化。
  如果你在這篇沒有找到你想要的,請點擊:java如何調用接口方式二

  而對於一些知識點呢,對其進行整理和歸納,這樣容易進行對比加深記憶,對下面代碼和總結進行對比着看。

  1. 首先URL restURL = new URL(url);這其中的url就是需要調的目標接口地址,URL類是java.net.*下的類,這個不陌生。
  2. setRequestMethod("POST");請求方式是有兩個值進行選擇,一個是GET,一個是POST,選擇對應的請求方式
  3. setDoOutput(true);setDoInput(true);
    setDoInput()  :  // 設置是否向httpUrlConnection輸出,因為這個是post請求,參數要放在http正文內,因此需要設為true, 默認是false;   
    setDoOutput():   // 設置是否從httpUrlConnection讀入,默認情況下是true; 
  4. setAllowUserInteraction();allowUserInteraction 如果為 true,則在允許用戶交互(例如彈出一個驗證對話框)的上下文中對此 URL 進行檢查。
  5. 下面代碼的query是以  屬性=值  傳輸的,若是多個則是 屬性=值&屬性=值 這種形式傳遞的,傳遞給服務器,讓服務器自己去處理。
    如何去生成這種形式的呢?最簡單最快的方式在這里 Java將Map拼接成“參數=值&參數=值”
  6. close();創建流進行寫入或讀取返回值,創建用完后記得關閉流。
  7. 有事需要生成時間戳,可以參考java時間類各種方法及用法,這個里面介紹了各種時間方法獲取想要的時間戳

  java如何調用呢?

 

package com.c; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; import java.util.Map; public class RestUtil { public String load(String url,String query) throws Exception { URL restURL = new URL(url); /* * 此處的urlConnection對象實際上是根據URL的請求協議(此處是http)生成的URLConnection類 的子類HttpURLConnection */ HttpURLConnection conn = (HttpURLConnection) restURL.openConnection(); //請求方式
        conn.setRequestMethod("POST"); //設置是否從httpUrlConnection讀入,默認情況下是true; httpUrlConnection.setDoInput(true);
        conn.setDoOutput(true); //allowUserInteraction 如果為 true,則在允許用戶交互(例如彈出一個驗證對話框)的上下文中對此 URL 進行檢查。
        conn.setAllowUserInteraction(false);      // 這三行是bug,忘了當初是測試打印日志,忘了屏蔽,感謝 黃邦鎖 同學提醒 2019-12-31 // PrintStream ps = new PrintStream(conn.getOutputStream()); // ps.print(query); // ps.close(); BufferedReader bReader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line,resultStr=""; while(null != (line=bReader.readLine())) { resultStr +=line; } System.out.println("3412412---"+resultStr); bReader.close(); return resultStr; }
public static void main(String []args) {try {

RestUtil restUtil = new RestUtil();

String resultString = restUtil.load(
"http://suggest.taobao.com/sug",
"code=utf-8&q=商品關鍵字&callback=cb");

} catch (Exception e) {

// TODO: handle exception

System.out.print(e.getMessage());

}

}

}

 

    如果你在這篇沒有找到你想要的,請點擊:java如何調用接口方式二

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM