文章目录

根据地址生成抖音口令

由 xiao 发布
<?php
/**
 * 根据url生成 口令
 */

namespace App\Services;

class DyUrlJumpService
{
    private $snssdk_url = 'snssdk1128://webview?url=';
    private $start_url = 'https%3a%2f%2fso.toutiao.com%2fsearch%2fjump%3furl%3d';
    private $end_url = '&zlink=https%3a%2f%2fdoujia.douyin.com';
    private $join_start = 'ttcb'; //开始拼接符
    private $join_end = '~'; //结束拼接符

    public function __construct()
    {

    }

    /**
     * 根据url 生成 口令
     * @param string $url
     * @return bool|string
     * @author:joniding
     * @date:2020/10/13 15:57
     */
    public function gennerate_url_code($url = '')
    {
        if($url=='' || empty($url))  return false;

        if (!$this->is_url($url)) return false;

        //编码url地址
        $middle_url = urlencode($url);
        $encode_url = $this->start_url.$middle_url.$this->end_url;
        //base64 编码
        $base64_url = base64_encode($this->snssdk_url.$encode_url);
        //去除末尾两个 ==
        $base64_url = str_replace('==','',$base64_url);
        //拼接
        $finish_url = $this->join_start.$base64_url.$this->join_end;

        unset($middle_url,$encode_url,$base64_url);

        return $finish_url;
    }

    /**
     * 检测是否为url地址
     * @param $url
     * @return bool
     * @author:joniding
     * @date:2020/10/13 15:50
     */
    private function is_url($url){
        $pattern="#(http|https)://(.*\.)?.*\..*#i";
        if(preg_match($pattern,$url)){
            return true;
        }else{
            return false;
        }
    }


}

暂无评论

发表评论