インターネット上にはまだ PHP BOT プログラムの例がほとんどありません。このようなプログラムにアクセスし始めることは非常に興味深いことです。いわゆる BOT は実際には GET または POST をシミュレートしてプログラム上で動作し、自動処理を実現します。もちろんこれは諸刃の剣なので、悪用しないでください。
PHP で BOT を実装する方法はたくさんありますが、個人的には HttpRequest の方が OO 的で書きやすいので気に入っています。以下に、クラスに対応する関数といくつかの例を示します。
関数をクリックして公式の PHP API にアクセスできます。興味のある方は、メソッド名を見てみましょう。メソッド名は非常に直感的であり、多くの説明は必要ありません。 。例 #1 GET の例
コード
$r = new HttpRequest('http://example.com/feed.rss', HttpRequest::METH_GET);
$r->setOptions(array('lastmodified' => filemtime('local.rss')));
$r->addQueryData(array('category' => 3));
試してください {
$r->send();
if ($r->getResponseCode() == 200) {
file_put_contents('local.rss', $r->getResponseBody());
}
} catch (HttpException $ex) {
エコー $ex;
}
?>
この例では、RSS サブスクライバーをリクエストする get をシミュレートし、addQueryData などの GET クエリ パラメーターを追加し、getResponseCode が 200 の場合、つまり BOT が成功した場合に、この GET リクエストを送信するために send を実行します。 get リクエストによって返されたレスポンスはローカル ファイルに保存されます。
例 #2 POST 例
コード
$r = new HttpRequest('http://example.com/form.php', HttpRequest::METH_POST);
$r->setOptions(array('cookies' => array('lang' => 'de')));
$r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));
$r->addPostFile('image', 'profile.jpg', 'image/jpeg');
試してください {
echo $r->send()->getBody();
} catch (HttpException $ex) {
エコー $ex;
}
?>
この例では、PHP ファイルをリクエストする POST をシミュレートします。POST では、addQueryData などの関数は使用しませんが、addPostFields を通じてシミュレートされた入力フォームを設定し、send を実行して、POSt リクエストによって返された応答の HTML を現在の PHP ページにエコーします。 。