Curl

使用 cURL 下載文件,但之前需要登錄

  • January 24, 2021

我正在嘗試使用 cURL 自動下載文件。但是該文件只能在您登錄時下載。登錄是一個非常標準的 POST 請求,我在瀏覽器網路分析中查看過它,現在它是如何建構的。現在如何使用 cURL 執行此操作,以便我被辨識為已登錄並可以下載文件?因為顯然在下載之前發送 POST 請求是行不通的。

您很可能需要儲存 cookie。@jsotola 的答案僅適用於**基本身份驗證,**這種身份驗證越來越不常見。你說這是一個 POST 請求。

看看-b-c選項。首先使用上述選項發出 curl 請求以登錄並保存您的 cookie。然後重複呼叫以下載文件,例如:

curl -b /tmp/cookies -c /tmp/cookies <url> ...

使用 cookie 的目的是儲存身份驗證令牌,沒有它,您進行的每次呼叫都獨立於先前的請求。當然,網站可能涉及 Javascript/Ajax,而 curl 並不總是能勝任這項工作。

獎勵:如果您嘗試使用 Firefox 之類的瀏覽器,Web 開發人員工具甚至可以為您生成 Curl 請求。

在此處輸入圖像描述

嘗試其中之一。

curl http://name:passwd@machine.domain/full/path/to/file
curl -u name:passwd http://machine.domain/full/path/to/file

引用自:https://unix.stackexchange.com/questions/630752