我需要从网站下载一些文件,网站内容有些图表,并且可以选择将图表数据下载为CSV文件。 我尝试使用wget
Class RollableShape
Inherits Shape
Implements IRollable
End Class
但只有代码才会下载网站的登录页面,我需要从图表中下载附件。
但我不知道是否有可能以这种方式获取文件?
我尝试使用curl但是得到了相同的结果
任何建议
答案 0 :(得分:1)
许多网站通过会话Cookie跟踪您是否登录。如果您没有登录(因为您尚未发送有效的会话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
有关-post-file选项的部分Wget documentation中有一个与上述非常类似的示例。
答案 1 :(得分:0)
该网址看起来像是指向包含该文件的网站,而不是文件本身。要下载该文件,您需要类似
的内容wget http://www.examplesite.com/subpage/yourfile.txt
将下载yourfile.txt
但是,如果这些图表是通过服务器端脚本动态创建的,例如基于用户输入的图表生成,则指向具有该脚本的页面将不会运行该脚本,这反过来又无法创建文件或发起文件请求。您必须使用指向文件位置的URL,并且在发出请求之前该文件必须已存在。