我有一个帐户本教程网站testdriven.io,我想下载的教程离线,让我的团队成员倾斜,而不必登录凭据。
所以,我尝试了几种方法,但都没有成功。
首先,我注销了帐户,并开始以wget -r --mirror -p --convert-links -P . https://testdriven.io/courses/的形式下载。然而,结果是一个离线网站,没有登录帐户和教程,因此受到限制。
第二,我试图将参数字符串传递为
wget --save-cookies cookies.txt \
--keep-session-cookies \
--post-data 'login=myemail@exampl.com&password=z9vi2gE82lO@sTN' \
--delete-after \
https://testdriven.io/courses/然而,它又回来了
--2019-12-18 02:01:22-- https://testdriven.io/courses/
Resolving testdriven.io (testdriven.io)... 104.27.143.239, 104.27.142.239, 2606:4700:30::681b:8eef, ...
Connecting to testdriven.io (testdriven.io)|104.27.143.239|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2019-12-18 02:01:23 ERROR 403: Forbidden.因此,如何通过提供经过身份验证的用户名和密码来下载完整的脱机教程?谢谢。
发布于 2019-12-17 19:41:12
这个网站将把你的信息存储在一个曲奇中。
您可以在浏览器的网络检查器中找到此信息。在请求头下面查看,抓取用于wget的cookie。

您需要将cookie传递到wget,理论上还需要使用--save-cookies和--load-cookies维护cookie jar。
例如:
wget -r --mirror -p --convert-links -P . \
--header="Cookie: __cfduid=ddebc00435655a6a20430c65436f729851576611229; csrftoken=6QuufXScgoQkyEe18dAL9YmqhxlyJpegNtyMCr4LgAUuvBs3KUzQwqEYBvWZV4yg; sessionid=c5gbfxkhqwpblxlhatgfh3wtfgy0zgpp" \
--save-cookies cookies.txt \
--load-cookies cookies.txt \
--accept-regex '/courses/' \
https://testdriven.io/courses/auth-flask-react/发布于 2019-12-17 19:28:39
请阅读man wget,特别是以下部分:
--user=user
--password=password
Specify the username user and password password for both FTP and HTTP file retrieval. These parameters can be
overridden using the --ftp-user and --ftp-password options for FTP connections and the --http-user and --http-password
options for HTTP connections.阅读关于所有wget选项的文章。这个有用吗?:
--metalink-over-http
Issues HTTP HEAD request instead of GET and extracts Metalink metadata from response headers. Then it switches to
Metalink download. If no valid Metalink metadata is found, it falls back to ordinary HTTP download.https://askubuntu.com/questions/1196892
复制相似问题