gpt4 book ai didi

java - HttpClient 执行但挂起,是否调用了 API?

转载 作者:行者123 更新时间:2023-12-02 09:00:40 24 4
gpt4 key购买 nike

我使用 JAVA HttpClient 登录 API

然后HttpClient循环执行并使用这个函数(checkZipFile),第一次之后,它卡在“client.execute(post)”。

private String checkZipFile(HttpClient client, File zipFile){
String errCode = "";
try {
HttpPost post = new HttpPost(URL_API);

MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addTextBody("command", "ImportCustomMaster");
builder.addTextBody("type", "csvZip");
builder.addBinaryBody(
"dataFile", zipFile);
builder.addTextBody("encoding", "932");

HttpEntity multipart = builder.build();

post.setEntity(multipart);
HttpResponse response = client.execute(post); //<-- IT HANGS HERE
System.out.println("\nSending 'POST' request to URL : " + URL_API);
System.out.println("Post parameters : " + "dataFile: " + zipFile.getName());
System.out.println("Response Code : " + response.getStatusLine().getStatusCode());

BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(new InputSource(new StringReader(result.toString())));
doc.getDocumentElement().normalize();

Node nNode = doc.getElementsByTagName("error").item(0);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
errCode = eElement.getElementsByTagName("code").item(0).getTextContent();
System.out.println("Error Code : " + errCode);
}
} catch (Exception e) {
e.printStackTrace();
}


}catch (ConnectException e) {
System.out.println(e.getMessage());
return "";
} catch (Exception e) {
e.printStackTrace();
return "";
}
return errCode;
}

我当然不知道原因,但至少,API被调用然后因为API或我的程序而卡住了?有没有一些工具可以调查这个问题?

最佳答案

API 挂起,而不是您的应用程序挂起。

尝试使用Postman或curl以检查API的响应时间。这可能是因为文件较大或互联网连接速度较慢 -> 尝试发送一个非常小的文件来检查。

关于java - HttpClient 执行但挂起,是否调用了 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60183180/

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