-1
在我的程序中執行下面的代碼段時,出現IOException。使用InputStreamReader時發生IOException
try(BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(logStorageUrl.openStream()))) {
String currentLine;
while((currentLine = bufferedReader.readLine()) != null){
Vault vlt = mapper.readValue(currentLine, Vault.class);
logger.debug("Log Store Name: " + vlt.getvault_name());
logger.debug("Log Store Vault: " + vault);
if(vlt.getvault_name().equals(vault.toLowerCase())){
logger.debug("Per Vault Total log_store vault name: " + vlt.getvault_name() + ", bytes: " + vlt.getBytes());
byteCount += vlt.getBytes();
}
}
logger.debug("Total LogStore ByteCount: " + byteCount);
} catch(IOException e){
System.out.println("IO Exception " + e);
}
這裏的異常詳細信息:
IO Exception java.io.IOException: Server returned HTTP response code: 403 for URL: https://s3-api.XXXXXX.net/cr-test
我猜想因爲這是我使用的方法,它可能與AWS V4認證和我已經打的問題與它,但似乎是解決。它可能是我的標題中缺少的東西?我之前的問題是因爲沒有在我的標題中傳遞'主持人',但我這次包括了它。
我知道我通過了正確的訪問和密鑰,我沒有選擇任何特定的頭文件。
首先,什麼是[403](https://en.wikipedia.org/wiki/HTTP_403)。所以我想你已經達到每日要求或類似的限制。如果沒有,請檢查您是否忘記提供給此API的任何內容。首先用REST客戶端檢查請求 – AxelH
您必須發佈更多信息。你調用哪個服務,你發送了哪個頭文件,你如何進行身份驗證,... – andih
HTTP狀態碼意味着FORBIDDEN,所以你肯定有一個身份驗證問題 –