我认为这应该很简单,但我无法理解它。
我需要以下列格式向网址发出请求:
http://ratings.api.co.uk/business/ {lang} / {fhrsid} / {format}其中lang将设置为en-GB,fhrsid是标识符,格式为json。
我尝试了以下内容,但我只是得到了回报:
$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));
感激不尽的任何帮助
答案 0 :(得分:2)
您当前正在将数据发布到网址,而您说您希望将数据放入网址中。
即。现在您将{"lang:"en-GB","fhrsid":80928}
提交到网址http://ratings.api.co.uk/business/json
,但您想要检索网址http://ratings.api.co.uk/business/en-GB/80928/json
。
不要将POST
用作请求类型,不要指定postfields,不指定content-length,并将数据放入URL中。
答案 1 :(得分:2)
将数据作为参数发送与在URL中发送数据不同。
如果您需要http://ratings.api.co.uk/{lang}/{fhrsid}/{format}
的网址格式,则必须使curl_init
字符串与该格式匹配。