用于登录网站的Shell脚本

Kun*_*nal 3 unix shell scripting

我想使用shell脚本登录网站,同时我也想自动获取用户ID和密码.

请建议如何使用shell脚本完成.

谢谢 !!!

Soz*_*Soz 5

如果您要做的是使用HTTP Basic身份验证从网站检索内容,那么您可以使用wget或curl从命令行实现此目的:

wget --http-user=user --http-password=password 

curl http://username:password@website.com/url
Run Code Online (Sandbox Code Playgroud)

如果使用基于cookie的身份验证,您也可以使用wget,具体取决于它的设置方式.例如,您可以通过HTTP POST登录页面

wget --save-cookies cookies.txt --post-data \
'user=myusername&password=mypassword' http://url/loginpage

wget --load-cookies cookies.txt -p http://url/thecontentIwant
Run Code Online (Sandbox Code Playgroud)

--save-cookies和--load-cookies允许基于cookie的身份验证令牌在请求之间保持不变.

如果使用的身份验证形式更复杂,那么答案将会大不相同 - 因此,有助于说明您所考虑的网站.此外,许多网站都有API,你应该使用它......

一般来说,如果你能稍微澄清一下这个问题会有所帮助 - 我发现这一点'同时我想自动获取用户ID和密码'也有点令人困惑.如果你想在bash中进行交互式会话(即让用户在bash脚本中输入用户名和密码),你会发现

read -e -p 
Run Code Online (Sandbox Code Playgroud)

非常有用(例如,读取-e -p"我的提示:"varname; echo $ varname).