| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | <?phpnamespace App\Console\Commands;use App\Libs\AliSMS;use GuzzleHttp\Client;use Illuminate\Console\Command;class ZsyAlert extends Command{    /**     * The name and signature of the console command.     *     * @var string     */    protected $signature = 'zsyalert';    /**     * The console command description.     *     * @var string     */    protected $description = 'Command description';    /**     * Create a new command instance.     *     * @return void     */    public function __construct()    {        parent::__construct();    }    /**     * Execute the console command.     *     * @return mixed     */    public function handle()    {        $this->start();    }    private function start(){        $check_status = $this->check();        if(!$check_status){            $this->sendAndSave();        }    }    public function getRes(){        $c = \GuzzleHttp\Cookie\CookieJar::fromArray(['web_user_auth'=>'eyJpdiI6IjU4V1lLMTQ0N2hSWGhLY0RMNTlJa1E9PSIsInZhbHVlIjoiVUVhbnFJVk9EcFVtQit1SFwvd2NjMmc9PSIsIm1hYyI6ImQyZjc2ODVhZTNlZmJhZjk3NzNhNmQ4YjQ0OWVmY2U1ZTA0ZjRhZTMxYWFmM2JiNDUyMWVmNzM5NjE5ZWM4YWMifQ%3D%3D'],'site20qv9n7g2qgkzyxw.leyuee.com');        $client = new client(['timeout'=>5,'cookies'=>$c]);        $url = "https://site20qv9n7g2qgkzyxw.leyuee.com/";                try{            $result = $client->request('get',$url)->getBody()->getContents();            return $result;        }catch (\Exception $e){            \Log::info($e);        }       return null;    }    function parseHtml($html){        $xml = new \DOMDocument();        try{            $xml->loadHTML($html);        }catch (Exception $e){        }        $status = $xml->getElementsByTagName('script')->item(6)->nodeValue;        $options = str_ireplace(['window.options = ',';'],'',$status);        $res = json_decode($options,true);        if($res){            return true;        }        return false;    }    function check(){        $res = $this->getRes();        if(!$res){            sleep(2);            $res = $this->getRes();        }        if(!$res) return false;        $status = $this->parseHtml($res);        if($status){            return true;        }        return false;    }    function sendAndSave(){        $file = '/tmp/wangduyun/last.txt';        $last = file_get_contents($file);        //不发        if($last && (time()-$last)<=1800 ){            return false;        }        $phones = ['18668029091','15868100210','18668420256','15158009976','13858057394'];        //$phones = ['18668029091'];        $record = '/tmp/wangduyun/'.date('Y-m-d').'.txt';        foreach($phones as $phone){            $sta = AliSMS::send($phone,'site_remind',['site_name'=>'网读云H5']);            file_put_contents($record,'['.date('Y-m-d H:i:s').'] send:'.$phone.' status is '.$sta."\r\n",FILE_APPEND);        }        file_put_contents($file,time());    }}
 |