我需要从网站下载一些文件,该网站包含一些图表,并且可以选择将图表数据下载为 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/