linux - 使用 wget 从 url 下载文件

标签 linux curl wget

我需要从网站下载一些文件,该网站包含一些图表,并且可以选择将图表数据下载为 CSV 文件。 我尝试使用 wget

wget --save-cookies cookies.txt --post-data 'user=foo&password=bar' https://websiteyyyyyyyy/cacti/graph_xport.php?local_graph_id= 1234

但是只有代码只能下载网站的登录页面,我需要从图表中下载附件。

但我不知道是否可以通过这种方式获取文件??

我尝试使用 curl 但我得到了相同的结果

任何建议

最佳答案

许多网站通过 session cookie 跟踪您是否登录。看到您没有登录(因为您没有发送有效的 session cookie),您将被重定向到登录页面(即使您提供了密码)。因此,您可能必须运行 wget 才能登录,然后再次运行它才能真正检索文件。请注意,仅 --save-cookies 可能还不够,您可能需要添加 --keep-session-cookies

wget --save-cookies cookies.txt --keep-session-cookies --post-data 'user=foo&password=bar' https://websiteyyyyyyyy/loginpage
wget --load-cookies cookies.txt https://websiteyyyyyyyy/graph_xport.php?local_graph_id=1234

Wget documentation 中有一个与上述非常相似的示例在关于 --post-file 选项的部分。

关于linux - 使用 wget 从 url 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31062794/

相关文章:

linux - 如何理解 "cmpl $0x0, -0x30(%rbp)"/"je ..."

linux - 从使用 wget 重定向的页面获取文件

curl - 使用相当于curl请求的Go语言上传multipart文件

c++ - curllib POST 正文数据(如何?)

ssl - 如何在 HTTPie 中使用 CA(如 curl 的 --cacert)

curl - 如何使用 curl、wget 从 owncloud 下载文件

c++ - wget for windows 在调用 createprocess() 时忽略选项

linux - 以特定方式启动终端?

linux - 如何计算位于小网格中的元素的频率?

linux - 从 Ant tar 任务打包的 .tar.gz 中提取时对包含非拉丁字符的文件名进行编码