cURL でコンテンツの結果を取得する機能はほとんどありません。POSTなしで試したところ、すべてうまくいきましたが、POSTを有効にすると、結果はnullです。
このコードは機能しません:
function getAPI($url){
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS,'shard=Apex');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3");
$result = curl_exec($ch);
return $result;
curl_close($ch);
}
このコードは機能しますが、リクエストは POST のようには渡されません。
function getAPI($url){
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
//curl_setopt($ch,CURLOPT_POST, true);
//curl_setopt($ch,CURLOPT_POSTFIELDS,'shard=Apex');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3");
$result = curl_exec($ch);
return $result;
curl_close($ch);
}
この関数を次のコマンドで呼び出します。
echo getAPI('http://world.needforspeed.com/SpeedAPI/ws/cmsbridge/news/rss/fr_FR');
このURLで試すこともできます
http://world.needforspeed.com/SpeedAPI/ws/game/nfsw/driver/levelkro/profile
この URL は、shard=Apex の場合にのみ機能します (CHHICANE サーバーのデフォルトの shard=CHICANE ですが、私のプロファイルは Apex サーバーでのみ使用できます)。