Bash-下载文件,必要时登录
我正在使用BASH,需要下载一个TXT文件,该文件是根据请求在服务器端生成的。这意味着URL类似于:Bash-下载文件,必要时登录,bash,curl,download,wget,lynx,Bash,Curl,Download,Wget,Lynx,我正在使用BASH,需要下载一个TXT文件,该文件是根据请求在服务器端生成的。这意味着URL类似于: http://1.1.1.1:4884/page.aspx?fileID=123456&lang=en&Export=1 Export=1被.NET应用程序捕获,并根据文件ID向我提供了一个TXT文件。 如果我没有登录,我将被重定向到URL中带有?ReturnUrl的登录表单,在登录时将我重定向回请求的页面 如何使用BASH,cURL/wget/lynx成功下载此文件。它必须是
http://1.1.1.1:4884/page.aspx?fileID=123456&lang=en&Export=1
Export=1
被.NET应用程序捕获,并根据文件ID向我提供了一个TXT文件。如果我没有登录,我将被重定向到URL中带有
?ReturnUrl
的登录表单,在登录时将我重定向回请求的页面
如何使用BASH,cURL/wget/lynx
成功下载此文件。它必须是非交互式的
我已经尝试使用curl、wget和lynx自动化(cmd log)的--cookie
选项。Lynx工作得最好,但由于某些原因,文件下载提示无法自动执行
请帮忙。如果需要任何其他信息,我将提供
- 尝试下载该文件
- 如果失败(重定向到登录页面),请登录并转到开始
wget
具有--http密码
&--http用户
选项。。。试试看。。。有关更多信息,请查看man wget
。。。如果没有任何效果,请尝试使用expect
实用程序。您可能需要单独安装它。(查看manexpect
了解更多详细信息。)我熟悉expect。你认为它在这里怎么用?至于--http密码/用户选项,它们不支持基于表单的身份验证。哦,是基于表单的身份验证吗?问题中没有提到它,或者可能我错过了它…尝试:anton@hostname~$curl-c-d“txtsername=admin&txtPassword=admin”http://1.1.1.1:4884/FormLoginAuth.aspx
。结果:FormLoginAuth.aspx
的来源打印到stdout
。使用--data=“txtsername=admin&txtPassword=admin”时的结果相同