Php 卷曲不';t返回URL中带有变量的所有级别的JSON
我正在尝试使用PHP7.1.6的API。当我用硬编码到URL中的API键发送请求时,它返回所有JSON。但是,当我通过变量将API键放入URL时。它只返回JSON的第一级。我尝试将URL设置为变量,然后将变量Php 卷曲不';t返回URL中带有变量的所有级别的JSON,php,json,curl,Php,Json,Curl,我正在尝试使用PHP7.1.6的API。当我用硬编码到URL中的API键发送请求时,它返回所有JSON。但是,当我通过变量将API键放入URL时。它只返回JSON的第一级。我尝试将URL设置为变量,然后将变量$URL设置为cURL选项,并尝试使用带双引号和单引号的字符串。还有什么我可以试着让它工作的吗 另外,我知道问题出在实际响应本身,但问题出在json\u decode()上,因为当我查看原始响应时,并不是所有应该存在的json都存在。API键只是字母和数字,当我从调试器将连接的URL复制到P
$URL
设置为cURL选项,并尝试使用带双引号和单引号的字符串。还有什么我可以试着让它工作的吗
另外,我知道问题出在实际响应本身,但问题出在json\u decode()
上,因为当我查看原始响应时,并不是所有应该存在的json都存在。API键只是字母和数字,当我从调试器将连接的URL复制到Postman中时,它会正常工作
请求如下:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '/collection?fields=collection_id,name,description,f_list,modified_at&api_key=' . $api_key,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_COOKIEFILE => $this->cookie,
CURLOPT_COOKIEJAR => $this->cookie,
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
把这个问题分解成几个部分。将连接的URL与字符串中的URL进行比较。我不知道您的API密钥是什么,但请确保您使用的是
url\u encode()
,以便正确地将其转义以在url中使用。无论如何,这个问题与旋度完全无关。可以归结为简单的连接,我有。当我从调试器复制连接的URL并在Postman中运行请求时,它工作得非常好。我已经从Postman为请求复制了cURL代码,但当我将API键作为变量包含时,它不会返回所有级别的JSON。API键只是字母和数字。请重新检查您的假设。如果您已经展示了足够的代码来重现它,我相信我们可以很快指出您的排版错误。问题是字符串的解析,而不是API键。相反,由于它的长度,它是我省略的参数之一。该参数需要格式化为JSON,但我没有转义双引号,而是按照您所说的对其进行编码。