Php 如何向api url发出JSON Curl请求,得到null

Php 如何向api url发出JSON Curl请求,得到null,php,json,curl,Php,Json,Curl,我想这应该很简单,但我就是搞不懂 我需要以以下格式向url发出请求: {lang}/{fhrsid}/{format}其中lang将设置为en GB。fhrsid是一个标识符,格式为json 我尝试了以下操作,但得到的回报是null: $data = array("lang" => "en-GB", "fhrsid" => "80928"); $da

我想这应该很简单,但我就是搞不懂

我需要以以下格式向url发出请求:

{lang}/{fhrsid}/{format}其中lang将设置为en GB。fhrsid是一个标识符,格式为json

我尝试了以下操作,但得到的回报是null:

$data = array("lang" => "en-GB", "fhrsid" => "80928");                                                                    
$data_string = json_encode($data);            


$ch = curl_init('http://ratings.api.co.uk/business/json');                                                                      
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))                                                 );                                                                                                                   

$Jsonresult = curl_exec($ch);
curl_close($ch);

var_dump(json_decode($Jsonresult));

感激地收到的任何帮助

您当前正在将数据发布到URL,而您说要将数据放入URL本身

也就是说,现在您将
{lang:“en-GB”,“fhrsid”:80928}
提交到URL
http://ratings.api.co.uk/business/json
,但您希望检索URL
http://ratings.api.co.uk/business/en-GB/80928/json


不要使用
POST
作为请求类型,不要指定postfields,不要指定内容长度,也不要将数据放在URL中。

您当前正在将数据发布到URL中,而您说要将数据放在URL本身中

也就是说,现在您将
{lang:“en-GB”,“fhrsid”:80928}
提交到URL
http://ratings.api.co.uk/business/json
,但您希望检索URL
http://ratings.api.co.uk/business/en-GB/80928/json


不要使用
POST
作为请求类型,不要指定postfields,不要指定内容长度,也不要将数据放在URL中。

将数据作为参数发送与在URL中发送不同


如果您需要
url格式http://ratings.api.co.uk/{lang}/{fhrsid}/{format}
,则必须使
curl\u init
字符串与该格式匹配。

将数据作为参数发送与在URL内发送不同


如果您需要
url格式http://ratings.api.co.uk/{lang}/{fhrsid}/{format}
,那么您必须使您的
curl_init
字符串与该格式匹配。

如果您说需要向
/business/en GB/80928/json
发送请求,为什么要将其发送到
/business/json
?我的问题仍然适用。。。您明确表示需要向URL
/business/lang/fhrsd/format
发送请求。但是您向URL发送请求
/business/json
…如果您说需要向
/business/en GB/80928/json
发送请求,为什么要将其发送到
/business/json
?我的问题仍然适用。。。您明确表示需要向URL
/business/lang/fhrsd/format
发送请求。但是你向URL
/business/json
发送请求……当然……嗯,非常感谢,这就是新生儿出生对你大脑的影响。当然……嗯,非常感谢,这就是新生儿出生对你大脑的影响。