php - PHP cURL 请求标头不适用于全局变量
问题描述
我已将全局变量设置为等于访问令牌,并且当我 print_($session_id) 时,令牌是可见的。我想做的是将该变量传递到我的 CURLOPT_HTTPHEADER 中,并使其等于下面函数 get_field_data_id() 中的“会话”:
function get_session_id() {
global $session_id;
$curl = curl_init();
$session_url = "/auth";
curl_setopt_array($curl, array(
CURLOPT_URL => $session_url ,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"Accept: application/json",
"username: USER",
"password: PASS",
"authorizationkey: KEY"
),
));
$response = curl_exec($curl);
curl_close($curl);
$session_id = $response;
} add_filter( 'gform_after_submission_4', 'get_session_id' );
function get_field_data_id() {
global $session_id;
$curl = curl_init();
$file_url = "URL";
curl_setopt_array($curl, array(
CURLOPT_URL => $file_url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Content-Type: application/json",
"Accept: application/json",
"Session: {$session_id}"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;}
但是,当我运行此函数时,我收到一条错误消息,指出会话 ID 无效。我错过了什么?
{"Message":"Invalid Authorization. Session ID is invalid. "}
解决方案
推荐阅读
- algorithm - 递归关系问题
- lua - 我的代码什么也没做
- ios - Yelp 如何出现在 iOS Spotlight 搜索中
- database - 有没有什么有效的方法来减少 HyperLogLog ( redis ) 中的错误?
- mysql - 印刷店数据库设计
- machine-learning - 我如何使用遗传算法表示染色体?
- tensorflow - Tensorflow 以兼容的方式保存和恢复模型(渴望和图形模式)
- ubuntu - 在没有互联网的情况下在 ubuntu 上编译 gcc7 和 gcc
- python - django 中的 Python 代码打印当前版权年份
- docker - 如何从 docker 容器访问主机 docker 实例