PHP BOT

原创
2016-06-23 14:37:06 1040浏览

网上关于PHP BOT程序的实例还是很少的,前段时间也是业务需求,开始接触此类程序,很有意思。所谓BOT实际上是模拟GET或POST,去action一些程序,实现一些自动化处理,当然这个东西是双刃剑,可别使坏就好。
PHP实现BOT有多种方式,个人比较喜欢HttpRequest,一来比较OO,而来编写简单方便。以下是class对应的function,还有一些examples。
function可以直接点击进入PHP官方的API,有意的朋友进去逛逛;方法名称很直观,不多解释。。

Example #1 GET example

代码

                      

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 ;} ?>

这个example模拟get去请求一个rss订阅器,还addQueryData这样的GET查询参数,然后执行send,发送此GET请求当getResponseCode是200时,也就是BOT成功时,把get请求返回的response的html存入本地的文件中。

Example #2 POST example

代码

                      

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 ;} ?>

这个example模拟POST去请求一个PHP文件,POST不是通过addQueryData这样的function,而是通过addPostFields来设置模拟的输入表单,然后执行send,把POSt请求返回的response的html echo到PHP当前页面中。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
上一条:php debug 下一条:apns-php