php 开启fsockopen函数,巧用php的fsockopen函数

这几天闲着没事,用PHP的fsockopen写了几个文件为我的酷我音乐盒的帐户加分。

获得途径 积分

音乐盒

完整的听一首歌曲 1(每天最高200)

音乐坊

成功上传一张歌单 50(每天最高200)

酷我音乐空间

空间被访问1次 1(每天最高50)

有人打招呼1次 2(每天最高50)

有人留言(非主人) 5(每天最高50)

其他来源

注册 500

填写邮箱信息 100(只限一次)

想增加分数的途径有上面几个,听200首音乐每天可以实现,一天到晚都开着酷我音乐盒。

然后就是访问我的空间、打招呼、留言、上传歌单,要是能写个程序每天自动跑,不用每天自己去点击,那多好。

于是就开始分析,用我的音乐空间做例子:[url]http://jackywdx.kzone.koowo.com/mlog/index.htm&m=y[/url]

这是我的音乐空间地址,我注册了一个马甲然后去访问我的空间,每刷新一次访问量就加1,要分析网络交互还得借助一些工具,比如httpwatch,火狐下面有httpfox,都可以用来监测网络数据的。我用的是HTTPWATCH,在IE下,开启HTTPWATCH的监测功能,打开上面的链接地址,回车后就有数据出来,如下图:

认真分析一下可以知道是这个地址:[url]http://jackywdx.kzone.koowo.com/mlog/st/SendView[/url]在触发更新。

发送的HTTP头信息可以直接从HTTPWATCH下面的stream标签下面的内容获取到,直接全部复制出来就行。

写了下面的一份代码:

然后保存成一个文件koowo_view.php,在浏览器里面执行一下:http://localhost/koowo_view.php,然后去我的首页看看,访问量增加了1,觉得不明显可以多刷新几遍再去看看。哈哈,成功,于是继续分析打招呼、留言、上传歌单的入口地址,然后再写上相应的程序koowo_doPoke.php,koowo_leave_message.php,koowo_upload_song.php,这样4个程序都写完了,经过测试成功,还要让这4个程序定时的执行,由于增加的分数都有上限,比如访问量最多可以增加50分,那我就让他跑50次,留言最多可以增加50分,每次留言可以增加5分那就跑10次。最后写个脚本来处理这些逻辑,写脚本我选择了用shell,其实用PHP也可以写,只是顺便锻炼一下写shell的能力。。

#!/bin/bash

#执行浏览页面

function do_view_koowo(){

#view_num.txt用来存储执行的次数,

view_num=$(cat /opt/koowo/view_num.txt);

#循环执行50遍

while [ $view_num -le 50 ]

do

/opt/lampp/bin/php /opt/koowo/php/koowo_view.php >/dev/null 2>&1

#echo “done n” >> koowo_log

let view_num=$view_num+1;

echo $view_num > /opt/koowo/recordFile/view_num.txt

#暂停2秒,也不能跑得太快。

sleep 2

done

#执行完之后再把浏览次数置为1供下次使用

if [ $view_num -ge 50 ]

then

echo 1 > /opt/koowo/recordFile/view_num.txt

fi

}

#执行打招呼功能

function do_poke(){

poke_num=$(cat /opt/koowo/recordFile/poke_num.txt)

while [ $poke_num -le 26 ]

do

sleep 20

/opt/lampp/bin/php /opt/koowo/php/koowo_doPoke.php >/dev/null 2>&1

let poke_num=$poke_num+1

echo $poke_num > /opt/koowo/recordFile/poke_num.txt

echo “sleeping…”

done

if [ $poke_num -gt 25 ]

then

echo 1 > /opt/koowo/recordFile/poke_num.txt

fi

}

#执行留言功能

function do_leave_message(){

message_num=$(cat /opt/koowo/recordFile/message_num.txt)

while [ $message_num -le 11 ]

do

/opt/lampp/bin/php /opt/koowo/php/koowo_leave_message.php >/dev/null 2>&1

let message_num=$message_num+1

echo $message_num > /opt/koowo/recordFile/message_num.txt

sleep 30

echo “sleep…”

done

if [ $message_num -gt 10 ]

then

echo 1 > /opt/koowo/recordFile/message_num.txt

fi

}

#执行上传歌单功能

function do_upload_song(){

upload_num=$(cat /opt/koowo/recordFile/upload_num.txt)

while [ $upload_num -le 4 ]

do

/opt/lampp/bin/php /opt/koowo/php/koowo_upload.php >/dev/null 2>&1

let upload_num=$upload_num+1

echo $upload_num > /opt/koowo/recordFile/upload_num.txt

sleep 30

done

if [ $upload_num -gt 3 ]

then

echo 1 > /opt/koowo/recordFile/upload_num.txt

fi

}

#执行上面四个函数

do_view_koowo

do_poke

do_leave_message

do_upload_song

exit 1

上面写了一个脚本,名字叫做run_cron.sh,怎么让他每天执行呢,哈哈,用cron程序。。。

crontab -e进入编辑页面

01 10 * * * /bin/bash /opt/koowo/run_cron.sh 2>&1 > /dev/null

写上这么一句,退出。那就会在每天早上的10点1分去执行这个脚本了。。

如果想知道这个程序跑了没有,那就去查一下那个log文件就行了。

原文:[url]http://jackywdx.cn/2008/12/%E5%B7%A7%E7%94%A8php%E7%9A%84fsockopen%E5%87%BD%E6%95%B0/#comment-55[/url]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434024.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中多维数组的clone容易引起误解

int[][] arr1 new int[][]{{1,2},{1,2}}; int[][] arr2 arr1.clone(); 因为arr1!arr2所以我的意图是 修改arr2 在确定修改结束后 将arr2赋给arr1依此保证在arr2修改过程中arr1不变,,,但神奇的是竟然变了后来才注意到虽然arr1!arr2但arr1[0]…

python编写界面遍历_python和pywin32实现窗口查找、遍历和点击的示例代码

Pywin32是一个Python库,为python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM机制等等。1.通过类名和标题查找窗口句柄,并获得窗口位置和大小import win32guiimport win32apiclassname "MozillaWindowClass&…

termcap-1.3.1的configure.in文件逐行分析

AC_INIT(termcap.h) 每个configure文件第一个需要调用的宏,他处理所有的命令行参数并且寻找源代码目录。termcap.h是包含在源代码目录下的文件,configure在目录中检查这些文件是否存在以确定该目录是否包含源代码。 AC_ARG_ENABLE(install-termcap, [ …

php转换图片属性a,PHP 提取图片img标记中的任意属性

/* PHP正则提取图片img标记中的任意属性 */$str PHP正则提取或更改图片img标记中的任意属性;//1、取整个图片代码preg_match(/]*?src\s*\s*(\|\")(.*?)\\1[^>]*?\/?\s*>/i,$str,$match);echo $match[0];//2、取width属性preg_match(//i,$str,$match);echo $mat…

OOP三言两语

OOP面向对象编程,主要特点:封装、继承、多态,一切即对象。 多态:编译时多态-- 方法重载 (方法名称相同,签名不同)。 运行时多态--子类override 父类的(vitural、abstract&#xff09…

交叉编译termcap1.3.1

修改Makefile文件其中两行即可 CC gcc 改为 CC arm-linux-gcc AR ar 改为 AR arm-linux-ar 编译后生成libtermcap.a文件,将其拷贝到交叉工具链的lib文件夹下即可使用。

python实现数字时钟_Python 写的全屏数字时钟软件,看看还有什么改进的地方

zgzb:软件启动图: https://s1.ax1x.com/2020/09/25/096RzV.png链接: https://www.lanzoux.com/i2vCzgwo0xawjj5728:啥都不说,先瞎为敬。黑色字看不到呀rglee:这配色绝了galileo1214:这全屏有啥用…

php ajax无刷新分页源码,ajax实现无刷新分页(php)

投票结果function GetXmlHttpObject(){var xmlHttpnull;try{// Firefox, Opera 8.0, SafarixmlHttpnew XMLHttpRequest();}catch (e){// Internet Explorertry{xmlHttpnew ActiveXObject("Msxml2.XMLHTTP");}catch (e){xmlHttpnew ActiveXObject("Microsoft.XML…

SQL嵌套语句执行顺序

首先我们要了解一下SQL语句的执行过程。 SELECT 字段 FROM 表名 WHERE 条件表达式 那它们是按什么顺序执行呢?分析器会先看语句的第一个词,当它发现第一个词是SELECT关键字的时候,它会跳到FROM关键字,然后通过FROM关键字找到表名并…

fatal error: Python.h: No such file or directory

ubuntu下编译libxml2时,报错. 执行apt-get install python-dev即可

php 计划任务 不执行,CentOS 系统下 Laravel 计划任务 PHP artisan schedule:run 不执行,应该如何处理?...

服务器是centos系统,现在遇到一个很奇怪的问题,计划任务不能执行,本来设的是定时检查用户表,给当天过生日的用户发生日祝福短信,日志记录计划任务执行了,但没有短信发送,laravel日志中也没有记录…

(转)Win7下如何硬盘安装Ubuntu

1.下载Linux镜像及EasyBCD   以Ubuntu为例:http://www.ubuntu.com/desktop/get-ubuntu/download  系统引导软件EasyBCD:http://neosmart.net/EasyBCD/  2.设置NeoGrub启动项   1)ubuntu下载文件放在C:\ubuntu-10.10-desktop-i386.iso&…

编译libxml2-2.6.26 __open_missing_mode 错误

调用open函数,因为使用open函数的时候,如果在第二个参数中使用了 O_CREAT,就必须添加第三个参数:创建文件时赋予的初始权。 解决方案:在调用open函数的那一行的参数里加个“0666”或者“0777”均可! 如&…

卡巴斯基授权许可文件_制片方未提供电视台授权证明,构成根本违约吗?

在制作娱乐法101课程的过程中,需要检索很多案例,有时候也也看到一些似乎不太合理的判决书。在一起电视播映权纠纷中,合同中一般会常规约定制作方需要向电视台提交确保其在合同授权区域、授权范围、授权期限内具有合法播映权的证明文件的合同义…

月头月尾oracle取数,Oracle分析函数Over()的使用

今天为完成客户成品仓盘点的统计功能,做了盘点统计表,这个功能有点复杂,要将生产数据与库存的差异做成一个统计报表,报表要反映出差异的明细。其实,这个项目拖了也挺久了,本来客户计划用于2018年终盘点&…

一个快递小伙子带给我们的启示:认真有力量

今天加班一天,合肥漫天飞雪,出门就开始下,到了公司,这个世界全白了,看到了这篇文章,贴出来于大家共享!认真有力量,大家认真努力工作哈! 他是个快递小子,20岁出…

Win32 API串口编程

在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。 一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由…

python安装vtk_python - 安装VTK for Python - SO中文参考 - www.soinside.com

最简单的方法第一个也是最简单的方法是使用Aptitude Package Manager安装软件包:sudo apt-get install libvtk5-dev python-vtk如果你想要最新版本如果你想要最新版本的VTK,你也可以自己构建它:确保安装了CMake:sudo apt-get inst…

oracle事务数统计,Oracle 查询事务数

查询“的”首先想到的是v$transaction, 确认这个思路是否正确:执行下面语句:SQL> select * from v$transaction;no rows selectedSQL>发现居然为空,why? 这时恍然大悟,v$transaction记录的是当前事务&#xff0c…

数据库的应用详解三

数据库的应用详解三 数据库的应用详解三 承接上一篇文章:《ADO.NET实例教学二》中设计到的多条件搜索的内容,下面我们就先针对这部分的内容进行深入的讲解。 一、做好准备 在什么情况下会遇到多条件搜索呢?在生活中有没有遇到类似的多条件搜索的情况。在…