ホームページ >バックエンド開発 >PHPチュートリアル >PHPボット
インターネット上には PHP BOT プログラムの例はまだほとんどありません。少し前にはビジネス要件でもありましたが、このようなプログラムにアクセスし始めることは非常に興味深いです。いわゆる BOT は、実際には GET または POST をシミュレートして、プログラム上で動作し、自動処理を実装します。もちろん、これは諸刃の剣なので、悪用しないでください。
PHP で BOT を実装する方法はたくさんありますが、個人的には HttpRequest の方がオブジェクト指向が強く、記述が簡単なので気に入っています。以下に、クラスに対応する関数といくつかの例を示します。
関数をクリックして公式 PHP API にアクセスでき、興味のある友人はアクセスして確認できます。メソッド名は非常に直感的であり、多くの説明は必要ありません。 。
例 #1 GET の例
コード
<p class="sycode"> <? php $r = new HttpRequest( ' http://example.com/feed.rss ' , HttpRequest :: METH_GET); $r -> setOptions( array ( ' lastmodified ' => filemtime ( ' local.rss ' ))); $r -> addQueryData( array ( ' category ' => 3 )); try { $r -> send(); if ( $r -> getResponseCode() == 200 ) { file_put_contents ( ' local.rss ' , $r -> getResponseBody());}} catch (HttpException $ex ) { echo $ex ;} ?> </p>
この例では、RSS サブスクライバーをリクエストする get をシミュレートし、QueryData などの GET クエリ パラメーターも追加し、getResponseCode が 200 のときに send を実行してこの GET リクエストを送信します。 BOT が成功すると、get リクエストによって返された応答の html がローカル ファイルに保存されます。
例 #2 POST の例
コード
<p class="sycode"> <? php $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 ' ); try { echo $r -> send() -> getBody();} catch (HttpException $ex ) { echo $ex ;} ?> </p>
この例では、PHP ファイルをリクエストする POST をシミュレートしますが、addQueryData などの関数を使用せず、addPostFields Single を介してシミュレートされた入力テーブルを設定します。 send を実行して、POSt リクエストによって返された応答の HTML を現在の PHP ページにエコーします。