0

我正在尝试从我的 Java 客户端代码对 URL 进行 HTTP POST。它是一个标准的普通独立 java 类但我反复收到以下错误。我在网上搜索但找不到任何合适的解决方案。我已经提供了以下所有信息。

下面是我得到的错误。

PostMethod filePost = new PostMethod(targetURL); 

filePost.getParams().setBooleanParameter(HttpMethodParams.USE_EXPECT_CONTINUE, false);

Part[] parts = {new FilePart(targetFile.getName(), targetFile)};

filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));

HttpClient client = new HttpClient(); 

client.getHttpConnectionManager().getParams().setConnectionTimeout(8000); 

int status = client.executeMethod(filePost)

java.net.SocketException:连接重置

    at java.net.SocketInputStream.read(SocketInputStream.java:185)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
    at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
    at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
    at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
    at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
    at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
    at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)

您能否请教代码有什么问题以及为什么我每次都遇到此连接超时。它非常严重地影响了我的工作,所以你们能帮我找到解决这个问题的方法吗?

感谢 Vikeng21

4

1 回答 1

0

当您没有正确配置服务器(协议/IP/端口)时,通常会出现超时。你能从浏览器发出请求吗?有防火墙问题吗?

于 2012-09-10T08:49:45.800 回答