2012-05-14 2 views
1

이것은 간단해야한다고 생각하지만 그냥 짐작할 수 없습니다.api url에 JSON Curl 요청을 보내고 null을 얻는 방법

나는 다음과 같은 형식의 URL로 요청을해야합니다

http://ratings.api.co.uk/business/ {랭}/{fhrsid}/{형식} 랭은 fhrsid이 식별자와 형식 KO-GB로 설정 될 위치 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)); 

어떤 도움을 기꺼이 당신이 데려 가고 싶다는 말을하면서

+3

'/ business/en-GB/80928/json'에게 요청을 보내야한다면, 왜 그것을/business/json으로 보냅니 까? – rid

+0

질문이 잘못되었습니다. 내 잘못 – Textus

+0

내 질문이 여전히 적용됩니다 ... 요청을 '/ business/lang/fhrsid/format' URL로 보내야한다고 분명히 말합니다. 그러나 당신은 URL'/ business/json'에 요청을 보냅니다 ... – rid

답변

2

는 당신은, URL에 데이터를 게시하는 받았습니다 URL 자체의 데이터

e.e. URL http://ratings.api.co.uk/business/json{"lang:"en-GB","fhrsid":80928}을 제출하지만 대신 URL http://ratings.api.co.uk/business/en-GB/80928/json을 검색하려고합니다.

요청 유형으로 POST을 사용하지 말고, 게시 필드를 지정하지 말고, content-length를 지정하지 말고 URL에 데이터를 넣으십시오.

2

데이터를 인수로 보내는 것은 URL 내에서 보내는 것과 다릅니다.

http://ratings.api.co.uk/{lang}/{fhrsid}/{format}의 URL 형식이 필요한 경우 curl_init 문자열을 해당 형식과 일치시켜야합니다.

+0

물론 .... 덕분에, 새로 태어난 아이가 당신의 두뇌에 도착하는 것입니다. – Textus

+0

@Textus 축하합니다. – Kristian

관련 문제