PHP curl获取api响应


PHP curl get api response

我试图从API获取一个json对象,它返回一个字符串。我试着对它进行解码,但都搞砸了。我不能发布数据,因为它很敏感,但这里有一个类似的例子。

{"status":"ok","list_i_want":[{param1:"blah",param2:"blash",param3:"blah"},{…}]}

我试着去掉第一部分和最后一部分,但它仍然无法解码为json对象。它也可能是我的curl_setopt()。

$curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array(
        'Accept: application/json'
    ));

    $resp = curl_exec($curl);
    curl_close($curl);
    DD($resp);   // laravel's die and dump

对于CURL,获取带有自定义头的API。

 $subscription_key  ='';
    $host = '';    
    $request_headers = array(
                    "X-Mashape-Key:" . $subscription_key,
                    "X-Mashape-Host:" . $host
                );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
    $season_data = curl_exec($ch);
    if (curl_errno($ch)) {
        print "Error: " . curl_error($ch);
        exit();
    }
    // Show me the result
    curl_close($ch);
    $json= json_decode($season_data, true);
    dd($json);