cURL上的-u标志实际上是什么?

qua*_*ato 17 curl

我正在查看Stripe的cURL示例以获取有关事件的信息.

他们让我这样做:

curl https://api.stripe.com/v1/events/evt_123 \
   -u sk_test_somekey:
Run Code Online (Sandbox Code Playgroud)

cURL的文档声明-u执行USER:PASSWORD.

当我尝试将其作为-d或查询发送时,Stripe的API说我错过了一个标题.这似乎不对.

我也不明白用户名之后缺少密码.如果我发送没有":"的cURL,系统会提示我输入密码.点击输入(没有输入字符),得到预期的响应.

那么,究竟是什么-u这样做我可以在我的代码中模仿这个调用?

Aar*_*ger 26

curl -uusername:password字符串编码为base-64字符串,该字符串在Authorization标头中传递,如下所示:

GET / HTTP/1.1
Host: example.com
Accept: text/html
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Run Code Online (Sandbox Code Playgroud)

这不容易浏览,但它也不是加密.任何拥有base 64解码器的人都可以看到用户名和密码,因此请确保设置HTTPS.

您的HTTP库可能有一个为您执行此操作的功能.