我正嘗試從Java中的HttpsURLConnection遠程服務器下載xml.gz文件,但我得到一個空響應。這裏是我的代碼示例:使用HttpsURLConnection下載xml.gz文件
URL server = new URL("https://www.myurl.com/path/sample_file.xml.gz");
HttpsURLConnection connection = (HttpsURLConnection)server.openConnection();
connection.connect();
當我嘗試從連接獲取InputStream時,它是空的。 (如果我嘗試connection.getInputStream()。read()我得到-1)我期待的文件大約是50MB。
爲了測試我的理智,我也嘗試在我的瀏覽器中輸入完全相同的url,並且它確實返回了我需要的文件。我錯過了什麼嗎?我必須在連接中設置某種參數嗎?任何幫助/方向非常感謝。
提供文件的第三方最初告訴我使用curl如下: curl -location -C - --digest -k https://www.myurl.com/path/sample_file.xml .gz -o sample_file.xml.gz 這工作得很好! – 2008-10-27 17:49:06
帶curl的-k開關意味着「允許連接到沒有證書的SSL站點」,所以我認爲假設該站點沒有提供有效的證書是安全的。您必須更新您的代碼才能解決此問題 – 2008-10-27 18:02:34
curl命令在沒有-k開關的情況下工作。我猜這意味着證書是有效的。 – 2008-10-27 18:37:40