簡體   English   中英

URL連接HTTP POST連接被拒絕

[英]URL connection HTTP POST connection refused

我正在使用Java 7開發Java桌面應用程序。對於我的應用程序,我想通過POST將數據發送到服務器(使用HTTP)。 服務器正在本地主機上的本地計算機上運行。 但是,如果我嘗試連接到服務器,則返回連接重置(SocketTimeoutException)。 我無法連接,我也嘗試連接到http://www.google.de之類的網頁,但也失敗了。 var主體包含正確格式的POST數據。 (我也嘗試連接禁用的防火牆)我的代碼:

body=body.substring(0,body.length()-2);
HttpURLConnection connection = null;
try {
    if (revision){ //Connect to the revision server
        this.urlRevision = new URL(this.settingsRevision.getAddress());
        connection = (HttpURLConnection) urlRevision.openConnection();
        connection.setRequestMethod("POST");
        connection.setConnectTimeout(10000);
        connection.setReadTimeout(10000);
        connection.setDoInput(true);
        connection.setDoOutput(true);
        connection.setUseCaches(true);
        connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        connection.setRequestProperty("Content-Length", String.valueOf(body.length()));
        connection.connect();
        OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
        writer.write(body);
        writer.flush();

        this.returnedData = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        for(String line; (line = returnedData.readLine()) != null;){
            System.out.println(line);
        }
        writer.close();
        this.returnedData.close();
    }
} catch (Exception e) {
        this.exception=e;
}

您應該嘗試像這樣關閉連接:

} finally {
    if(connection != null) {
      connection.disconnect(); 
    }
}

我已經將其添加到評論中:

System.setProperty("java.net.preferIPv4Stack" , "true");

原因:Java在我的計算機上使用IPv6功能,但IPv4用於Internet連接(在我的計算機上和我的提供者(T-Online))。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM