如何使用 cURL 传递授权标头?(可执行文件/usr/bin/curl)。
/usr/bin/curl
http://curl.se/docs/httpscripting.html
请参阅第 6 部分。HTTP 身份验证
HTTP 身份验证 HTTP 身份验证能够告诉服务器您的用户名和密码,以便它可以验证您是否被允许执行您正在执行的请求。HTTP 中使用的 Basic 身份验证(默认情况下 curl 使用的类型)是基于 纯 文本 的,这意味着它发送的用户名和密码只是略微混淆,但仍然可以被任何在你和远程服务器之间的网络上嗅探的人完全读取。 告诉 curl 使用用户和密码进行身份验证: curl --user name:password http://www.example.com 该站点可能需要不同的身份验证方法(检查服务器返回的标头),然后 –ntlm、–digest、–negotiate 甚至 –anyauth 可能是适合您的选项。 有时您的 HTTP 访问只能通过使用 HTTP 代理获得。这似乎在各个公司中尤为常见。HTTP 代理可能需要其自己的用户名和密码才能允许客户端访问 Internet。要使用 curl 指定那些,请运行以下命令: curl --proxy-user proxyuser:proxypassword curl.haxx.se 如果您的代理需要使用 NTLM 方法完成身份验证,请使用 –proxy-ntlm,如果需要摘要使用 –proxy-digest。 如果您使用这些用户+密码选项中的任何一个,但省略了密码部分,curl 将交互提示输入密码。 请注意,当程序运行时,在列出系统正在运行的进程时,可能会看到它的参数。因此,如果您将密码作为纯命令行选项传递,其他用户可能会看到您的密码。有办法规避这一点。 值得注意的是,虽然这是 HTTP 身份验证的工作原理,但很多网站在提供登录等时不会使用此概念。有关详细信息,请参阅下面的 Web 登录章节。
HTTP 身份验证
HTTP 身份验证能够告诉服务器您的用户名和密码,以便它可以验证您是否被允许执行您正在执行的请求。HTTP 中使用的 Basic 身份验证(默认情况下 curl 使用的类型)是基于 纯 文本 的,这意味着它发送的用户名和密码只是略微混淆,但仍然可以被任何在你和远程服务器之间的网络上嗅探的人完全读取。
告诉 curl 使用用户和密码进行身份验证:
curl --user name:password http://www.example.com
该站点可能需要不同的身份验证方法(检查服务器返回的标头),然后 –ntlm、–digest、–negotiate 甚至 –anyauth 可能是适合您的选项。
有时您的 HTTP 访问只能通过使用 HTTP 代理获得。这似乎在各个公司中尤为常见。HTTP 代理可能需要其自己的用户名和密码才能允许客户端访问 Internet。要使用 curl 指定那些,请运行以下命令:
curl --proxy-user proxyuser:proxypassword curl.haxx.se
如果您的代理需要使用 NTLM 方法完成身份验证,请使用 –proxy-ntlm,如果需要摘要使用 –proxy-digest。
如果您使用这些用户+密码选项中的任何一个,但省略了密码部分,curl 将交互提示输入密码。
请注意,当程序运行时,在列出系统正在运行的进程时,可能会看到它的参数。因此,如果您将密码作为纯命令行选项传递,其他用户可能会看到您的密码。有办法规避这一点。
值得注意的是,虽然这是 HTTP 身份验证的工作原理,但很多网站在提供登录等时不会使用此概念。有关详细信息,请参阅下面的 Web 登录章节。