程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP BOT實例代碼

PHP BOT實例代碼

編輯:關於PHP編程

       網上關於PHP BOT程序的實例還是很少的,前段時間也是業務需求,開始接觸此類程序,很有意思。所謂BOT實際上是模擬GET或POST,去action一些程序,實現一些自動化處理,當然這個東西是雙刃劍,可別使壞就好。

      PHP實現BOT有多種方式,個人比較喜歡HttpRequest,一來比較OO,而來編寫簡單方便。以下是class對應的function,還有一些examples。

      function可以直接點擊進入PHP官方的API,有意的朋友進去逛逛;方法名稱很直觀,不多解釋。。 Example #1 GET example

      代碼

      $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;

      }

      ?>

      這個example模擬get去請求一個rss訂閱器,還addQueryData這樣的GET查詢參數,然後執行send,發送此GET請求當getResponseCode是200時,也就是BOT成功時,把get請求返回的response的HTML存入本地的文件中。

      Example #2 POST example

      代碼

      $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;

      }

      ?>

      這個example模擬POST去請求一個PHP文件,POST不是通過addQueryData這樣的function,而是通過addPostFields來設置模擬的輸入表單,然後執行send,把POSt請求返回的response的html echo到PHP當前頁面中。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved