PHP CURL POST请求:如何将$token变量放入请求头?
解决PHP CURL请求头中使用变量存储token的问题
步骤1:定义token变量
先将你的令牌值赋值给$token变量:
$token = "你的实际token内容"; // 替换为真实的令牌字符串
步骤2:在请求头中引用变量
有两种常用方式在请求头里插入变量,任选其一即可:
- 字符串拼接(单引号+点号):单引号包裹固定文本,通过
.连接变量 - 双引号解析变量:双引号包裹的字符串会自动解析内部变量
修改后的完整代码示例
方式1:字符串拼接
curl_setopt_array($curl, array( CURLOPT_URL => 'https:url_for_request', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS =>'{"_cloudId": 99999}', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'Accept: application/json', 'Authorization: User ' . $token // 用点号拼接变量与固定文本 ), ));
方式2:双引号解析变量
curl_setopt_array($curl, array( CURLOPT_URL => 'https:url_for_request', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS =>'{"_cloudId": 99999}', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'Accept: application/json', "Authorization: User $token" // 双引号包裹,自动解析变量 ), ));
注意事项
- 确保
$token变量在CURL配置代码之前定义,避免出现未定义变量的错误 - 若令牌包含特殊字符,可使用
urlencode()处理(多数场景下令牌已做编码,无需额外操作)
内容的提问来源于stack exchange,提问作者Jiří Liška
相关产品推荐
相关产品推荐

