gpt4 book ai didi

java - apache httpget 毫无异常(exception)地中断

转载 作者:可可西里 更新时间:2023-11-01 16:36:25 24 4
gpt4 key购买 nike

我写了一个小程序,通过 http-get 读取 XML 文件。

在本地它运行良好。

但是在服务器上它一直在中断,没有任何异常,除了一个空指针,因为结果为空

我正在使用 apache http 库。

这是类(class),我添加了数字,以跟踪它停止工作的确切点。

public void get(String url, String user, String pass, File outfile) throws IOException
{
log.info("1");
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT, AuthScope.ANY_REALM, "basic"),
new UsernamePasswordCredentials(user, pass));

log.info("2");
CloseableHttpClient httpClient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();

HttpResponse response = null;
log.info("6");
InputStream content = null;
FileOutputStream outputStream = null;
try
{
HttpGet httpGet = new HttpGet(url);
log.info("3");
httpGet.addHeader("Content-Type", "text/xml");
log.info("4");
httpGet.addHeader("Accept", "text/xml");
log.info("5");

log.info("6");

log.info("7");

outputStream = new FileOutputStream(outfile);
log.info("8");
response = httpClient.execute(httpGet);
log.info("9");
log.info("response: {}", response);
log.info("10");
content = response.getEntity().getContent();
log.info("11");
log.info("content: {}", content);
log.info("12");
IOUtils.copy(content, outputStream);
log.info("13");
}
catch (Exception e)
{
log.error("", e);
}
finally
{
try
{
log.info("14");
log.info(String.valueOf(content));
content.close();
outputStream.close();
}
catch (IOException e)
{
log.error("Error while closing Streams", e);
}
}
}

这是日志片段;我试图掩盖每一个敏感的数据,我希望我没有遗漏任何东西

Local log snipet

Remote log snipet

如您所见,数字在 8 之后停止,并在 finally block 中再次从 14 开始。其余的都不见了,我不知道为什么。

使用的 URL 可通过浏览器或命令行访问。

最佳答案

问题有点棘手:您在这里遇到了某种错误。可能是 NoClassDefFoundError 或类似的东西。

但是当您捕获Exception 时,这段代码根本“看不到”真正的问题。

所以要调试问题:检查服务器日志文件或更改代码以捕获 Throwable 而不是 Exception。

关于java - apache httpget 毫无异常(exception)地中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42734643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com