我如何通过授权头使用cURL?(可在/usr/bin/curl中执行)。


当前回答

注意,当你使用: curl -H "授权:token_str" http://www.example.com

token_str和Authorization必须用空格隔开,否则服务器端将无法获得HTTP_AUTHORIZATION环境。

其他回答

http://curl.se/docs/httpscripting.html

参见第6部分。HTTP身份验证

HTTP身份验证

HTTP身份验证是告诉服务器您的用户名和 这样它就能验证你是否被允许执行你的请求 做的事情。HTTP中使用的基本身份验证(这是curl使用的类型by) 默认)是基于纯文本的,这意味着它发送用户名和密码 只是有点模糊,但任何人都能读懂 您和远程服务器之间的网络。

告诉curl使用用户和密码进行身份验证:

Curl——用户名:密码http://www.example.com

站点可能需要不同的身份验证方法(检查标题 由服务器返回),然后——ntlm,——digest,——negotiate甚至 ——任何选择都可能适合你。

有时您的HTTP访问只能通过使用HTTP来获得 代理。这似乎在各个公司都很常见。HTTP代理 可能需要自己的用户和密码,以允许客户端通过到 互联网。要指定带有curl的对象,运行如下命令:

Curl——proxy-user proxyuser:proxypassword Curl .haxx.se

如果您的代理要求使用NTLM方法进行身份验证, 使用——proxy-ntlm,如果它需要文摘使用——proxy-digest。

如果您使用这些用户+密码选项中的任何一个,但不需要密码 部分,curl将交互式提示输入密码。

请注意,当一个程序运行时,它的参数可能是可以看到的 显示系统运行进程时。因此,其他用户可能会 能够观察您的密码,如果您传递他们作为普通命令行 选项。有一些方法可以规避这种情况。

值得注意的是,虽然这是HTTP身份验证的工作方式,但非常 许多网站在提供登录等功能时不会使用这个概念。看到 更多细节请参见下面的Web Login章节。

只是添加,所以你不需要点击:

curl --user name:password http://www.example.com

或者如果你试图为OAuth 2发送身份验证:

curl -H "Authorization: OAuth <ACCESS_TOKEN>" http://www.example.com

这招对我很管用:

curl -H "Authorization: Bearer xxxxxxxxxxxxxx" https://www.example.com/

注意,当你使用: curl -H "授权:token_str" http://www.example.com

token_str和Authorization必须用空格隔开,否则服务器端将无法获得HTTP_AUTHORIZATION环境。

HTTP基本认证:

curl -H "Authorization: Basic <_your_token_>" http://www.example.com

替换_your_token_和URL。