我正在卷曲一个丢弃 json 结果的 url。不过,卷曲的结果始终为 NULL。
主.php
function getUserSettings(){
...
$json = json_encode($userSettings);
header('Content-Type: application/json');
return $json;
}
获取用户设置.php
...
$api->uid = isset($_SESSION['uid']) ? $_SESSION['uid'] : die();
$result = $api->getUserSettings();
echo $result;
...
设置.php
<?php
session_start();
if(isset($_SESSION['uid'])) {
//get the user settings
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_URL, 'https://www.url.com/api/getstgs');
$result = curl_exec($ch);
curl_close($ch);
$obj = json_decode($result, true);
print_r($obj);die();
}
...
generate html
...
?>
json 如下所示:
{">lcns":[{"product_name":"addon: addonname","license_key_decrypted":">
XXXXXXXXXXXXXXXXXXXX expires_at XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
根据显示的代码,cURL 调用预计会"失败"。
这是因为 cURL 发出的新请求不会自动包含会话信息或 Cookie。可以使用命令行中的 cURL 或新隐身窗口中的浏览器选项卡复制此类行为。(检查来自其他工具的 Web 请求的结果可以比代码更改更快地诊断许多问题。
除非之前已建立会话"uid"值,否则以下内容预计会使请求失败,而不是返回所需的 JSON。调用 cURL 的请求中是否存在会话"uid"值并不重要:cURL 发出的请求是独立的。
$api->uid = isset($_SESSION['uid']) ? $_SESSION['uid'] : die();