我需要自動從頁面下載帶有多個鏈接的文件(可能包含超過100個帶有單獨鏈接的文件)。我知道要登錄的URL,並且我擁有憑據。如何使用java程序自動下載文件
我願意在Java程序中通過自動化來實現這一點。轉到下載位置頁面的唯一方法是通過登錄到該網站。
cURL命令對此有幫助嗎?
請告訴我這麼做。
我需要自動從頁面下載帶有多個鏈接的文件(可能包含超過100個帶有單獨鏈接的文件)。我知道要登錄的URL,並且我擁有憑據。如何使用java程序自動下載文件
我願意在Java程序中通過自動化來實現這一點。轉到下載位置頁面的唯一方法是通過登錄到該網站。
cURL命令對此有幫助嗎?
請告訴我這麼做。
您可以使用wget可以下載日誌文件:
wget -r --no-parent --user=user --password=password --no-check-certificate <URL>
或者您可以使用下面的HttpClient在Java中:
public void saveFile(String url, String FileName) throws ClientProtocolException, IOException{ HttpGet httpget = new HttpGet(url); HttpResponse response = httpClient.execute(httpget); HttpEntity entity = response.getEntity(); if (entity != null) { long len = entity.getContentLength(); InputStream is = entity.getContent(); FileOutputStream fos = new FileOutputStream(new File(filePath))); IOUtils.copy(is, fos); } return; }
OP在該頁面有多個鏈接可下載 –
@Sn。如果需要更多參數,我可以使用什麼?例如,不僅用戶名和密碼,還需要其他參數調用agentID,但我不知道第三個參數的關鍵是什麼。 –
我更新了帖子的答案。 –
如果你的意思是將文件從一個網站複製一個本地文件,那麼你可以使用java.nio.file
Files.copy(new URL("http://host/site/filename").openStream(), Paths.get(localfile)
OP在該頁面有多個鏈接要下載 –
@Jackcob:我甚至不知道文件名。無論它包含什麼文件,我都需要下載它。還需要進行身份驗證 –
我認爲我們正在談論HTTP。只需使用標準的HTTP連接邏輯?不確定是什麼問題。我肯定會**不使用cURL,因爲它是系統特定的(我假設你想使用命令行版本) – nablex
@Nablex:我認爲,她需要通過HTTP連接自動下載。 –
好的,但我仍然沒有看到問題...刮鏈接,循環他們,並使用標準的http邏輯一次下載他們一個?問題究竟在哪裏? – nablex