Heim  >  Artikel  >  Backend-Entwicklung  >  PHP BOT实例代码_PHP教程

PHP BOT实例代码_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:22:40933Durchsuche

PHP BOT实例代码

   网上关于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当前页面中。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/847204.htmlTechArticlePHP BOT实例代码 网上关于PHP BOT程序的实例还是很少的,前段时间也是业务需求,开始接触此类程序,很有意思。所谓BOT实际上是模拟GET或...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn