mxy123h 发表于 2017-12-8 13:19:31

非常简单的PHP自动刷hostloc积分代码

本帖最后由 mxy123h 于 2019-5-2 21:48 编辑

引用别的大佬的吧https://hostloc.wiki/thread-486834-1-1.html
更新:开了CC防护之后 需要验证一个COOKIE,需要处理下才能正常用,程序已经更新,又可以愉快的刷分了。

===================================================


ID如果很多的话需要知道每个ID多少分,什么组,这个记录功能就很有用了。

login(tradekey1h) ... Success!(论坛元老)
Credit: 5684; Money: 5377
Visting user space .................... done!
Credit: 5702; Money: 5395

PS,这个输出没有写入到文件,我用的是在cron重定向,建议你也这样做,否则改下代码。

已经几十个元老号了,不知道有啥用。

格式UTF-8
帐号密码存在id.txt每行一个,格式:用户名#密码

用命令行运行,不要用WEB运行。

绕过CC防护版:
https://pastebin.com/sUnZkuJD
论坛把反斜线吃了,请到这里复制

<?php

$cookie_name = $cookie_val = '';

$lines = file(dirname(__FILE__).'/id.txt');
foreach($lines as $line){
    list($username, $password) = explode('#', $line);
    $username = trim($username);
    $password = trim($password);

    if(empty($username) || empty($password)){
      continue;
    }

    $suburl = "https://hostloc.wiki/member.php?mod=logging&action=login";
    $loginInfo = array(
            "username" => $username,
            "password" => $password,
            "fastloginfield" => "username",
            "quickforward" => "yes",
            "handlekey" => "ls",
            "loginsubmit" => true
    );

    echo "login($username) ... ";
    $login = curl_post($suburl,$loginInfo);

    if(strpos($login, $username) !== FALSE){

      preg_match("/>用户组: (.*?)<\/a>/", $login, $preg);
      $group = $preg;
      echo "Success!($group)\n";
    }else{
      echo "Failed!\n\n";
      continue;
    }

    extract(get_jf());
    echo "Credit: $credit; Money: $money\n";

    echo "Visting user space ";
    for($i=0;$i<20;$i++){
      $uid = rand(0,30000);
      curl_get($spaceUrl = "https://hostloc.wiki/space-uid-{$uid}.html");
      echo ".";
    }
    echo " done!\n";
    extract(get_jf());
    echo "Credit: $credit; Money: $money\n\n";


}

function get_jf(){
    $data = array();
    $html = curl_get('https://hostloc.wiki/home.php?mod=spacecp&ac=credit&op=base');
    preg_match("/积分: (\d+)<\/a>/", $html, $preg);
    if(!empty($preg)){
      $data['credit'] = $preg;
    }else{
      $data['credit'] = 0;
    }
    preg_match("/金钱: <\/em>(\d+)/", $html, $preg);
    if(!empty($preg)){
      $data['money'] = $preg;
    }else{
      $data['money'] = 0;
    }

    return $data;
}

function curl_post($url, $post_data){
    global $cookie_name, $cookie_val;
    while(true){
      $res = do_curl_post($url, $post_data);
      preg_match("/cookie=\"(\w*?)\=(\w*)/", $res, $preg_cookie);
      preg_match("/href=\"(.*?)\"/", $res, $preg_url);

      if(!empty($preg_cookie)){
            $cookie_name = $preg_cookie;
            $cookie_val = $preg_cookie;
            $res = do_curl_post($preg_url, $post_data);
      }else{
            break;
      }
      sleep(1);
    }
    return $res;
}


function do_curl_post($url, $post_data){
    global $cookie_name, $cookie_val;
    $ch = curl_init ();
    curl_setopt($ch, CURLOPT_POST , 1);
    curl_setopt($ch, CURLOPT_HEADER , 0);
    curl_setopt($ch, CURLOPT_URL , $url);
    curl_setopt($ch, CURLOPT_COOKIEJAR , '/tmp/hostloc.cookie');
    //curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.rand_ip()));
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible;Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)');
    curl_setopt($ch, CURLOPT_POSTFIELDS , $post_data);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT,600);
    curl_setopt($ch, CURLOPT_REFERER, 'https://hostloc.wiki/');
    if(!empty($cookie_name)){
      curl_setopt($ch, CURLOPT_COOKIE, "$cookie_name=$cookie_val;");
    }
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}


function curl_get($url){
    global $cookie_name, $cookie_val;
    $ch = curl_init ();
    curl_setopt($ch, CURLOPT_HEADER , 0);
    curl_setopt($ch, CURLOPT_URL , $url);
    curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/hostloc.cookie');
    //curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.rand_ip()));
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible;Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT,600);
    if(!empty($cookie_name)){
      curl_setopt($ch, CURLOPT_COOKIE, "$cookie_name=$cookie_val;");
    }
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

function rand_ip(){
    return rand(1,255).'.'.rand(1,255).'.'.rand(1,255).'.'.rand(1,255);
}


https://hostloc.wiki/thread-486834-1-1.html

cnly1987 发表于 2017-12-8 13:35:14

本帖最后由 cnly1987 于 2017-12-8 13:36 编辑

我给你来段更加简洁的。
import requests
import time
s = requests.Session()
s.post("http://hostloc.wiki/member.php", {'username':'XXXX', 'password': 'xxxxxx',})
urls = ["http://hostloc.wiki/space-uid-{}.html".format(str(i)) for i in range(10000, 24000)]
for i in urls:
    s.get(i)
    time.sleep(3)

ru1404 发表于 2018-2-16 07:50:52

听说回帖金币+1,试试~

陈道临 发表于 2017-12-8 13:51:33

24000差评   

viruscn 发表于 2017-12-8 14:26:34

差评差评!uid=10000开始太高了,应该从uid=15开始!!!yc008t

nickyutse 发表于 2017-12-8 13:31:28

试试看,好不好用

西部数码代理 发表于 2017-12-8 13:23:49

aumfoo 发表于 2017-12-8 13:25:33

嗯,这个是管用的。

shc 发表于 2017-12-8 13:26:10

差评,居然把用户选择范围设为10000-24000,强烈要求改成10000-25000!!!

因为我是24006 yc005t

mxy123h 发表于 2017-12-8 13:27:26

西部数码代理 发表于 2017-12-8 13:23
具体怎么用,会不会被管理发现。

wocao这个不会封号吧?
右键 新建记事本.txt 把上面的复制过去保存 改后缀123.php 放到某个地方 然后访问 http://domain/123.php

jian 发表于 2017-12-8 13:27:58

蓝洛水深 发表于 2017-12-8 13:28:30

- - 嗯,反正现在都很多

redalfa 发表于 2017-12-8 13:29:19

看到类似的已经好多次了

adminii 发表于 2017-12-8 13:30:50

访问用户空间会获得积分?孤陋寡闻了:Q
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 非常简单的PHP自动刷hostloc积分代码