PHP爬虫和微信自动投票 – EwanRenton


layout: post
title: PHP爬虫和微信自动投票
date: 2016-05-17 23:38:25 +0800
comments: true
categories: [php]


今天,我接触到了PHP的仿照着陆和爬虫战斗。,它涉及几种php获取远程文件的方法,防止收藏的一些方法,微信自动投票实践。

php获取远程文件

php获取远程文件主要有以下几种方式:

  • fopen
  • file_get_centents
  • socket
  • curl

几天后,我们将结合实际代码分析这些方法

防止收藏的一些方法

有很多方法可以防止收集,这里有一些更有效的

  • 短时限制
  • ip校验
  • 机器特性反省
  • 复杂加密
  • 混淆代码

微信自动投票工具

这是主要的分析。。

首先,我们需要分析到PC端的微信投票界面,并利用F12浏览器的功能抓取投票请求地址和。如下:


=Wap&m=Vote&a=index&token=jdfsam1432614294&wecha_id=oQIrdjjmrAZXwKOh3Y6-1HeuwvEc&id=27&sgssz=


g=Wap&
m=Vote&
a=index& ThinkHP中的一些参数
token=jdfsam1432614294& 当前主用户ID
wecha_id=oQIrdjjmrAZXwKOh3Y6-1HeuwvEc&
id=27& 当前投票ID
sgssz=
以下是请求的地址:

发送的材料:
wecha_id=oQIrdjjArAZYwKOh3Y6-1HeuwvEc&tid=27&chid=53%2C&token=jdfsam1432614294&action=add_vote、
材料恢复原来信仰的人成:
成:1,"token":"jdfsam1432614294","wecha_id":"oQIrdjjArAZYwKOh3Y6-1HeuwvEc",tid:27,chid:53,"arrpre":{"53":,"54":0,"55":0,"56":}}

基于上述要旨,我们可以自己仿照post的材料,用户表示。。但这还不够。,我们还需要仿照微信的内核。


微信内核UA:你可以在网上找到。
Mozilla/ (窗口 NT 6.1; WOW64) AppleWebKit/ (KHTML, like Gecko) Chrome/28.0.158888800.95 Safari/ SE 2.X MetaSr 1.0

debug = 0;
        $this->ua = 'Mozilla (窗口 NT 6.1; WOW64) AppleWebKit/ (KHTML, like Gecko) Chrome/28.0.158888800.95 Safari/ SE 2.X MetaSr 1.0''; 这里仿照微信内核
        $this->cookiejar = '''';
        $this->cookiefile = '''';
    }
    
    /****************************
    *get 请求资源
    *@param string 地址
    *@param string referer
    *@param boolen 即使恢复原来信仰的人HEA
    *@param array 头上额外的饼干
    ****************************/
    function httpget($url,$referer='''',$withhead=0){
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_COOKIEJAR,$this->cookiejar);
        curl_setopt($ch,CURLOPT_COOKIEFILE,$this->cookiefile);
        curl_setopt($ch,CURLOPT_HEADER,$withhead);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
        //curl_setopt($ch,CURLOPT_AUTOREFERER,1);
        curl_setopt($ch,CURLOPT_USERAGENT,$this->ua);
        curl_setopt($ch,CURLOPT_REFERER,推荐人)
        $r = curl_exec($ch);
        if($this->debug){
            echo ''
'';
            var_dump(curl_getinfo($ch));
        }
        curl_close($ch);
        return $r;
    }
    
    /****************************
    *post 请求资源
    *@param string 地址
    *@param string referer
    *@param array 做材料
    *@param boolen 即使恢复原来信仰的人HEA
    ****************************/
    function httppost($url,$referer='''',$postdata=array(),$withhead=0){
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_HEADER,$withhead);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
        //curl_setopt($ch,CURLOPT_AUTOREFERER,1);
        curl_setopt($ch,CURLOPT_COOKIEJAR,$this->cookiejar);
        curl_setopt($ch,CURLOPT_COOKIEFILE,$this->cookiefile);
        curl_setopt($ch,CURLOPT_USERAGENT,$this->ua);
        curl_setopt($ch,CURLOPT_REFERER,推荐人)
        curl_setopt($ch,CURLOPT_POST,1);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$postdata);
        $r = curl_exec($ch);
        if($this->debug){
            echo ''
'';
            var_dump(curl_getinfo($ch));
        }
        curl_close($ch);
        return $r;
    }


}

因特网上的curl方法,我们需要在这里使用它。






微信自动投票工具



这是微信自动投票工具";
$jkxy = new curlajax();
$jkxy->debug = 0;
$jkxy->cookiejar = dirname(__FILE__).''\'';
$jkxy->cookiefile = dirname(__FILE__).''\'';
仿照做要旨
$username="oQIrdjj".rand(500,50000)."wKOh3Y6-1HeuwvEc";//用随机数位来发生确切的的用户ID
$data = "wecha_id=".$username."&tid=27&chid=53%2C&token=jdfsam1432614294&action=add_vote";//仿照确切的的用户做的材料
$url = '.$用户名
$r = $jkxy->httppost($url,$url,$data,0);//获取恢复原来信仰的人材料

条件(checkstr($r,'成:1')==真) 按照恢复原来信仰的人的材料断定即使投票成
    echo 投票成
    }
else{
    echo "投票化为泡影";
    }
    /****************************
    *反省$needle中即使输入$findstr
    *@param string needle 
    *@param string findstr
    ****************************/
function checkstr($needle,窗构造) 
    $tempstr=explode($findstr,针)
    if($tempstr>1){
        return true;
        }
    else{
        return false;
        }
    }
?>

 

通过这次实战,这种感觉突然打开了一扇门。我们应该认真学习爬行动物的知识。

发表评论

电子邮件地址不会被公开。 必填项已用*标注