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当前页面中。

时间: 2024-11-05 12:35:06

PHP BOT实例代码的相关文章

JS 精确统计网站访问量的实例代码

这篇文章介绍了JS精确统计网站访问量的实例代码,有需要的朋友可以参考一下   复制代码 代码如下: /**  * vlstat 浏览器统计脚本  */ var statIdName = "vlstatId"; var xmlHttp; /**  * 设置cookieId  */ function setCookie(c_name, value, expiredays) {     var exdate = new Date();     exdate.setDate(exdate.ge

JS实现随机化快速排序的实例代码

这篇文章介绍了JS实现随机化快速排序的实例代码,有需要的朋友可以参考一下   算法的平均时间复杂度为O(nlogn).但是当输入是已经排序的数组或几乎排好序的输入,时间复杂度却为O(n^2).为解决这一问题并保证平均时间复 杂度为O(nlogn)的方法是引入预处理步骤,它惟一的目的是改变元素的顺序使之随机排序.这种预处理步骤可在O(n)时间内运行.能够起到同样作用的 另一种简单方法是在算法中引入一个随机元素,这可以通过随机地选择拆分元素的主元来实现.随机选择主元的结果放宽了关于输入元素的所有排列

jQuery表单获取和失去焦点输入框提示效果的实例代码

这篇文章介绍了jQuery表单获取和失去焦点输入框提示效果的实例代码,有需要的朋友可以参考一下   复制代码 代码如下:   $("#focus .input_txt").each(function(){   var thisVal=$(this).val();   //判断文本框的值是否为空,有值的情况就隐藏提示语,没有值就显示   if(thisVal!=""){   $(this).siblings("span").hide();   }e

Jquery同辈元素选中/未选中效果的实例代码

这篇文章介绍了Jquery同辈元素选中/未选中效果的实例代码,有需要的朋友可以参考一下   复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml

CSS3网页布局实例代码:始终在网页底部代码2则

文章简介:CSS3网页布局实例代码:始终在网页底部代码2则 <!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>始终在底部(1)</title><style>body{margin:0} html, body{height:100%}

CSS网页制作实例代码:模拟新浪微博的三角图像

文章简介:CSS网页制作实例代码:新浪微博的三角图像. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta

JavaScript实例:mini选择器实例代码详解

在网上发现一个JavaScript小型选择器-mini,其介绍在这里已经说得挺清楚了,就不再罗嗦了.简单来说,mini选择器只支持以下选择语句: * `tag`* `tag > .className`* `tag > tag`* `#id > tag.className`* `.className tag`* `tag, tag, #id`* `tag#id.className`* `.className`* `span > * > b` 经过调查,以上选择语句已经满足了95

动态编译实例代码

编译|动态 动态编译实例代码.非常简单.我看也不用注解了吧.import java.io.*;import java.util.*;import java.lang.reflect.*;import java.io.File; public class CompileTest{ static com.sun.tools.javac.Main javac = new com.sun.tools.javac.Main(); public static void main(String[] args)

PHP 翻页类 实例代码

PHP 翻页 实例代码,大家可以参考下. <?php class Page { private $pageSize;//每一页多少行 private $absolutePage;//当前页 private $pageCount;//总页码数 private $totalNum;//总行数 private $prePage;//上一页 private $nextPage; //下一页 private $sqlStr; private $baseUrl; //不带GET参数的URL get传输网址