-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,所以你肯定有一个身份验证问题 –