V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pytth
V2EX  ›  PHP

新浪短网址 t.cn 腾讯短网址 url.cn 官方生成 API

  •  
  •   pytth · 2020-04-26 16:58:54 +08:00 · 4035 次点击
    这是一个创建于 1670 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新浪(t.cn)

    <?php
    header('Content-type: text/json;charset=utf-8');
    $url= empty($_GET['url'])?"http://www.likeyunba.om":$_GET['url'];
    
    if(strpos($url, "http") === false){
        $url = "http://".$url;
    }
    $format = empty($_GET['format'])?"json":$_GET['format'];
    
    $s_url = getTcn($url);
    
    if($format == "json"){
        if($s_url){
        	//成功
            exit(json_encode(array("code"=>1,"msg"=>"Success","url"=>$url,"shortUrl"=>$s_url)));
        }else{
        	//失败
            exit(json_encode(array("code"=>0,"msg"=>"Fail","url"=>$url)));
        }
    }elseif($format == "text"){
        if($s_url){
            exit($s_url);
        }else{
            exit("生成失败");
        }
    }
    
    function getTcn($url){
        $content = file_get_contents("http://service.weibo.com/share/share.php?url=".urlencode($url)."&title=%E6%B5%8B%E8%AF%95&pic=https%3A%2F%2Fbkimg.cdn.bcebos.com%2Fpic%2Fb21bb051f819861824b822dc48ed2e738ad4e6ef%3Fx-bce-process%3Dimage%2Fresize%2Cm_lfit%2Cw_268%2Climit_1&appkey=936491597#_loginLayer_1584789130659");
        preg_match_all("/scope.short_url = \" (.*?) \";/",$content, $res, PREG_SET_ORDER);
        $shortUrl = $res[0][1];
        if($shortUrl){
            return $shortUrl;
        }else{
            return false;
        }
    }
    ?>
    

    腾讯(url.cn)

    <?php
    header('Content-type: text/json;charset=utf-8');
    $url= empty($_GET['url'])?"http://www.likeyunba.om":$_GET['url'];
    $api = "https://vip.video.qq.com/fcgi-bin/comm_cgi?name=short_url&need_short_url=1&url=".$url;
    $html= _curl($api,"","","","https://vip.video.qq.com/f");
    if(strpos($html, "ok") === false){
        exit(json_encode(array("code"=>0,"msg"=>"Fail","url"=>$url)));
    }
    $html = str_replace(" ","",$html);
    $pattern="/\"short_url\":\"(.+?)\"/s";
    preg_match_all($pattern,$html,$arr);
    $s_url = $arr[1][0];
    if($s_url){
        exit(json_encode(array("code"=>1,"msg"=>"Success","url"=>$url,"shortUrl"=>$s_url)));
    }else{
        exit(json_encode(array("code"=>0,"msg"=>"Fail","url"=>$url)));
    }
    //里客云资源站 http://www.likeyunba.com
    function _curl($url,$post=0,$header=0,$cookie=0,$referer=0,$ua=0,$nobaody=0){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        $httpheader[] = "Accept:*/*";
        $httpheader[] = "Accept-Encoding:gzip,deflate,sdch";
        $httpheader[] = "Accept-Language:zh-CN,zh;q=0.8";
        $httpheader[] = "Connection:close";
        curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader);
        if($post){
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
        }
        if($header){
            curl_setopt($ch, CURLOPT_HEADER, TRUE);
        }
        if($cookie){
            curl_setopt($ch, CURLOPT_COOKIE, $cookie);
        }
        if($referer){
            curl_setopt($ch, CURLOPT_REFERER, $referer);
        }
        if($ua){
            curl_setopt($ch, CURLOPT_USERAGENT,$ua);
        }else{
            curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36');
        }
        if($nobaody){
            curl_setopt($ch, CURLOPT_NOBODY,1);
        }
        curl_setopt($ch, CURLOPT_ENCODING, "gzip");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        $ret = curl_exec($ch);
        curl_close($ch);
        return $ret;
    }
    ?>
    
    12 条回复    2020-07-22 10:46:04 +08:00
    BlueGood
        1
    BlueGood  
       2020-05-11 08:16:29 +08:00
    返回非白名单域名,有解决办法吗
    pytth
        2
    pytth  
    OP
       2020-05-13 09:46:23 +08:00
    @BlueGood 黄了,估计腾讯发现很多不明来源,就只能设置白名单。
    pytth
        3
    pytth  
    OP
       2020-05-19 02:25:03 +08:00 via iPhone
    腾讯短网址返回非白名单,我已经解决了
    aa694623056
        4
    aa694623056  
       2020-06-01 10:02:51 +08:00
    api.gogoy.cn? 目前腾讯和新浪的都还能用
    makry
        5
    makry  
       2020-06-20 20:56:41 +08:00
    @pytth url.cn 现在还能生成么 不是已经限制了?非白名单问题能解决?求大佬赐教
    fishlee
        6
    fishlee  
       2020-06-29 10:59:02 +08:00
    这二个代码还能用上吗?求教
    pytth
        7
    pytth  
    OP
       2020-06-29 16:51:13 +08:00
    @fishlee 代码还是那个代码,只需要做一个域名解析就行,解析一个域名为 qq.com.你的域名.com 即可,然后使用解析的这个域名访问代码~
    pytth
        8
    pytth  
    OP
       2020-06-29 16:53:26 +08:00
    @makry 可以 看我给 fishlee 的回复
    pytth
        9
    pytth  
    OP
       2020-06-29 16:54:09 +08:00
    @fishlee 腾讯的可以,新浪的不行了
    yyyyadmin
        10
    yyyyadmin  
       2020-07-04 09:52:04 +08:00
    70api.com? 目前腾讯和新浪的百度都还能用
    lisongee
        11
    lisongee  
       2020-07-11 19:02:44 +08:00
    @pytth
    你好,请问域名解析具体是啥?
    比如我的域名是 lisonge.com
    那么请问记录类型,主机记录,记录值具体是啥?
    allenhuai
        12
    allenhuai  
       2020-07-22 10:46:04 +08:00
    @pytth 刚刚修改了一下,做了一下屏蔽...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1057 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:11 · PVG 03:11 · LAX 11:11 · JFK 14:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.