0

なぜこれがうまくいかないのかを理解しようとしています。私は cURL に関してはまったくの初心者です。今日は cURL を初めて使用する日です。このためのチュートリアルに従いましたが、明らかに失敗しました。

ページをチェックして、「スキル統計」が表示されていれば「成功」を返し、「メンバーランキング」が表示されていれば「失敗」を返します。

<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://services.runescape.com/m=hiscore/compare.ws?user1=Mercon185");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPGET, TRUE); 
curl_setopt($ch, CURLOPT_POST, FALSE); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);


if (stristr($output,"Skill Stats")) {
    echo 'Success';
}
if (stristr($output,"Member Rankings")) {
    echo 'Failure';
}

curl_close($ch);
?>

`

4

1 に答える 1

0

フォロー リダイレクトを有効にする必要があります。現在見ているように、URL はhttp://services.runescape.com/m=hiscore/overall.ws?errorcode=1にリダイレクトされます。フォロー リダイレクトを有効にしないと、実際には空の最初のページのみがフェッチされます。

ただし、最終的なランディング ページには必要なデータが含まれているため、次の行を cURL オプションに追加すると機能するはずです。

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
于 2013-07-17T02:15:18.167 に答える