java訪問rest
1. java rest api介面 怎麼保證安全性
增加一個鑒權介面,鑒權通過則返回一個token值
在rest api介面中驗證token值,通過則允許反問,否則拒絕訪問
2. 如何通過Java客戶端程序通過rest介面訪問並上傳文件(文檔)到web伺服器
圖片目錄不在項目路徑下,直接通過HTTP訪問不到,如果你硬是要這么訪問,你可以自己寫一個Servlet,通過流的方式輸出,注意要吧Content-Type設置正確
3. 誰用Java調用過環信的REST API
HttpClient 和 Jersey 可以實現REST
PHP CRUL Java裡面沒有 可以模擬實現
HX is bad!No Java Good 程序猴子
4. drupal的rest api能被java調用嗎
如果有介面的URL的話你直接用AJAX調就可以了,如果要做增加操作那麼傳JSON格式的字串到後台解析就行了,REST一般不建議做大數據量的增加的操作,查詢什麼的還是很不錯的
5. java 如何模擬瀏覽器調用rest api介面
用Apache的HttpClient包可以直接發請求
6. 怎樣用JAVA代碼實現一個REST服務端
REST是http一個介面的規范,你只要對你JAVA實現的http介面,遵循REST規范就可以了
具體規范大致是get請求表示查詢數據 ,POST請求表示對數據賦值,也就是新增或者更新數據,DELETE 請求就是刪除數據。
其中java實現http介面,有很多種方式,你可以用傳統的servlet,或者spring框架來做,都可以
7. java 要調用別人提供的rest api介面介面是url 比如實現簡單的增加操作 具體實現哪些步驟
第一:先把url存儲下來,配置文件,資料庫等
第二:在相應的action層調用項目裡面的httpClientUtil或者採用apache的httpClient 去請求url,
接下來的操作跟一般的web沒區別了
8. java 調用 rest 介面 怎麼寫請求行的信息
package com.demo;
import ja<img id="selectsearch-icon" src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/qb/select-search.png" alt="搜索">va.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.xml.bind.DatatypeConverter;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
public class restTest {
public static voidmain(String[] args) {
try {
DefaultHttpClient Client = newDefaultHttpClient();
HttpGet httpGet = newHttpGet("你的地址");
String encoding =DatatypeConverter.printBase64Binary("admin:admin".getBytes("UTF-8"));
httpGet.setHeader("Authorization", "Basic " +encoding);
HttpResponse response = Client.execute(httpGet);
System.out.println("response =" + response);
BufferedReader breader = newBufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuilder responseString = newStringBuilder();
String line = "";
while ((line = breader.readLine()) !=null) {
responseString.append(line);
}
breader.close();
String repsonseStr =responseString.toString();
System.out.println("repsonseStr =" + repsonseStr);
} catch (IOException e) {
e.printStackTrace();
}
}
}
9. java內部怎麼訪問rest獲取json數據
不訪問這個rest介面,而是和這個rest介面一樣訪問相應的數據
~~~~~~~~~~~~~~~~
10. java開發 Rest 介面怎樣設計api_key 也就是我的api怎樣才能不被自由訪問,需要在header加入驗證
以下僅供參考:
如果rest端要自己維護api_key,類似存儲在資料庫里,就分發(授權)給客戶端某個api_key,然後客戶端用api_key和一些其他條件如時間戳+簽名去rest端換取一個token,最後客戶端用這個token和rest端進行交互,可以參考下微信的oauth鑒權.
如果rest端不維護api_key,也就省去分發(授權)客戶端api_key的工作,此時客戶端用傳遞的參數和其他條件如時間戳+簽名去rest端換取一個token..同上
上述所說的token都是唯一的,對於同一個客戶端的請求而言,下次刷取token的時候,之前產生的token作廢;
token本身應該要維持在rest端,也應該有一個過期的限制;
(參數)+(api_key)+時間戳 通過加密演算法(如sha2)生成簽名,rest端同邏輯校驗簽名是否合法一般就能卡掉一大部分的訪問,
至於api_key或者token放在哪裡,一般無狀態訪問比較常見是在head里(常見如angularjs項目),這里我覺得隨意,因為只要被攔截都可見,只是head可以放比較多的東西用來障目就是了.
當然,如果正在用的token被攔截,同樣也是可以隨意訪問的,因此可能要求https協議加證書應該會更牢固點(沒試過);
一般就這樣,再高的我也不懂了,如果陳述有什麼問題,者有什麼看法,也還請不吝賜教~