我如何通过授权头使用cURL?(可在/usr/bin/curl中执行)。
当前回答
对于那些做基于令牌的身份验证的人…一定要做到:
curl -H "AuthToken: "
相反! !
其他回答
如果在调用时没有令牌,则必须进行两次调用,一次获取令牌,另一次从响应中提取令牌,请注意
Grep令牌| cut -d, -f1 | cut -d\" -f4
因为它是处理从响应中提取令牌的部分。
echo "Getting token response and extracting token"
def token = sh (returnStdout: true, script: """
curl -S -i -k -X POST https://www.example.com/getToken -H \"Content-Type: application/json\" -H \"Accept: application/json\" -d @requestFile.json | grep token | cut -d, -f1 | cut -d\\" -f4
""").split()
提取令牌后,您可以使用令牌进行后续调用,如下所示。
echo "Token : ${token[-1]}"
echo "Making calls using token..."
curl -S -i -k -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer ${token[-1]}" https://www.example.com/api/resources
无记名代币看起来是这样的:
curl -H "Authorization: Bearer <ACCESS_TOKEN>" http://www.example.com
从curl 7.61.0开始,您可以使用——oauth2-bearer <token>选项来设置正确的承载授权标头。
(对于那些正在寻找php-curl答案的人)
$service_url = 'https://example.com/something/something.json';
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, "username:password"); //Your credentials goes here
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //IMP if the url has https and you don't want to verify source certificate
$curl_response = curl_exec($curl);
$response = json_decode($curl_response);
curl_close($curl);
var_dump($response);
一个简单的例子是使用授权转换为base64的参数
curl -XPOST 'http://exemplo.com/webhooks?Authorization=Basic%20dGVzdDoxMjM0NTYK'
推荐文章
- PHP中的cURL是什么?
- 对bash脚本函数中定义的变量使用curl POST
- 使用curl POST multipart/form-data的正确方法是什么?
- PHP -调试Curl
- (1) libcurl不支持或禁用https协议
- 在尝试访问HTTPS url时,如何使用cURL处理证书?
- 如何使用PHP 7安装ext-curl扩展?
- 如何通过JSON文件传递有效载荷卷曲?
- 编写器安装错误——当它实际启用时需要ext_curl
- 如何使用Python执行cURL命令?
- CURL命令行URL参数
- 我如何为卷曲设置请求头?
- 在PHP中设置Curl的超时
- curl:(35)错误:1408F10B:SSL例程:ssl3_get_record:错误的版本号
- 使用curl命令将文件保存到指定文件夹