pdf - 使用 Wget 从需要设置 cookie 的站点下载 PDF 文件

标签 pdf wget

我想访问一家报纸网站,然后下载他们的电子纸副本(PDF 格式)。该站点要求我使用我的电子邮件地址和密码登录,然后它允许我访问这些 PDF URL。

我在 wget 中“设置我的 session ”时遇到问题。当我从浏览器登录该站点时,它会设置两个 cookie 值:

UserID=abc@gmail.com
Password=12345

我试过:
wget --post-data "UserID=abc@gmail.com&Password=12345" http://epaper.abc.com/login.aspx

但是,那只是下载了登录页面并将其保存在本地

登录页面上的 FORM 有两个字段:
txtUserID
txtPassword

和这样的单选按钮:
<input id="rbtnManchester" type="radio" checked="checked" name="txtpub" value="44">

另一个按钮:
<input id="rbtnLondon" type="radio" name="txtpub" value="64">

如果我将其发布到 login.aspx 页面,我会得到相同的输出
wget --post-data "txtUserID=abc@gmail.com&txtPassword=12345&txtpub=44" http://epaper.abc.com/login.aspx

如果我做:

--save-cookies abc_cookies.txt

除了默认内容外,它似乎没有任何其他内容。

最后,如果我也这样做 --debug ,它会说:
...
Set-Cookie: ASP.NET_SessionId=05kphcn4hjmblq45qgnjoe41; path=/; HttpOnly
...
Stored cookie epaper.abc.com -1 (ANY) / <session> <insecure> [expiry none] ASP.NET_SessionId 05kphcn4hjmblq45qgnjoe41
Length: 107253 (105K) [text/html]
Saving to: `login.aspx'
...
Saving cookies to abc_cookies.txt.

但是,abc_cookies.txt 仅显示以下内容:
# HTTP cookie file.
# Generated by Wget on 2011-08-16 08:03:05.
# Edit at your own risk.

最佳答案

只是一个建议,您是否尝试使用查询字符串变量(显然不太安全)?

wget "http://epaper.abc.com/login.aspx?UserID=abc@gmail.com&Password=12345"

根据您的 shell /操作系统,您可能必须转义特殊字符。

关于pdf - 使用 Wget 从需要设置 cookie 的站点下载 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7064171/

相关文章:

javascript - 使用 PKCS #11 在 Webapp 中签署 PDF

java - 读取和转换 .pdf、.docx 和 .xls 文件

python - 如何使用Python在Indesign中调整PDF文件的所有页面?

wget --warc-file --recursive,防止写入单个文件

Python Wget : Check for duplicate files and skip if it exists?

linux - Wget 大于 x kb 的图像

pdf - 从 PDF 创建 JPG 缩略图会导致新版 ImageMagick 出现问题

java - 使用 Java 将 Excel (.xlsx) 转换为 PDF

linux - wget无法解析主机下载https