hackjam 提供 2010-12-7 18:05
[-]需要工具:Opera浏览器,截取数据包工具(我用的自己做的网络机器狗,在论坛可以搜到)一个,一个新浪云计算平台账号
[-]新浪云计算平台账号注册地址:http://sae.sina.com.cn/ (能注册体验账户)
[-]实现原理:利用云计算平台的定时任务。
如果创建应用请看视频教学:http://xhprof.tools.sinaapp.com/demo_beta/
如果你已经会创建应用,那么请看下面:
打开Opera浏览器,打开地址:http://q32.3g.qq.com/ (该地址为3GQQ的地址)
打开数据包拦截工具,拦截opera.exe进程。
然后在opera里登陆3gqq:
截取到POST数据包:
我们需要的是第二个数据包(POST的内容)
我的为:sid=YRr%2BoQN7y4zJ1MkXUX4bTA%3D%3D&qq=10000&pwd=123&toQQchat=true&q_from=&modifySKey=0&loginType=1&aid=nLoginHandle
复制出来,以后会用到。
然后打开云计算平台软件,登陆,创建一个版本,版本号为:1
创建一个php,因为该云计算平台是基于php的。
右键->编辑
然后编辑这个php,添加代码:
xxxxxxxxxxxxxxxx为刚才提取的POST内容,修改后就跟下面差不多
然后点上传,ok,现在添加定时任务
右键->编辑config.yaml
在最后面添加代码:
cron:
- description: cron index
url: qq.php
schedule: every 5 mins
本代码的意思就是隔5分钟执行一次qq.php,也就是登陆QQ的代码,3GQQ好像登陆后会5分钟都在线,所以我设为5分钟登陆一次
保存,上传。OK,搞定了!你有一个24小时在线的QQ了!
你想取消的时候怎么办?你可以再次编辑config.yaml,把上述代码删除即可。
ps:定时任务
SAE平台目前提供用户定制cron服务,用户通过增加项目配置文件config.yaml里的cron字段,来定制自己的cron服务,cron服务支持次数、时区、访问权限等功能支持,并且运行在高可靠SLA的分布式架构上,保证用户的定时服务可靠准确。
技术详解:
http://apidoc.sinaapp.com/sae/SaeFetchurl.html
SAE数据抓取class
在SAE下不能直接使用file_get_contents或者curl抓取外部数据.
而SaeFetchurl允许你抓取外部数据.支持的协议为http/https.
默认超时时间:
连接超时: 5秒
发送数据超时: 30秒
接收数据超时: 40秒
抓取页面
$f = new SaeFetchurl();
$content = $f->fetch('http://sina.cn');
发起POST请求
$f = new SaeFetchurl();
$f->setMethod('post');
$f->setPostData( array('name'=> 'easychen' , 'email' => '[email protected]' , 'file' => '文件的二进制内容') );
$ret = $f->fetch('http://photo.sinaapp.com/save.php');
//抓取失败时输出错误码和错误信息
if ($ret === false)
var_dump($f->errno(), $f->errmsg());
欢迎光临 ::电驴基地:: (https://www.cmule.com/) | Powered by Discuz! 6.0.0 |