微信公众号实现长链接转短链接!w.url.cn短网址生成-其他-爱上资源吧
最新公告
  • 欢迎您光临爱上资源吧,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 微信公众号实现长链接转短链接!w.url.cn短网址生成-其他

    微信公众号开发者平台提供短网址生成的API,最终生成的短网址是w.url.cn的,下面是详细的代码

    官方文档
    https://developers.weixin.qq.com/doc/offiaccount/Account_Management/URL_Shortener.html

    请求参数
    access_token
    action 此处填long2short,代表长链接转短链接
    long_url 需要转换的原链接

    HTTP POST请求网址
    https://api.weixin.qq.com/cgi-bin/shorturl?access_token=ACCESS_TOKEN

    请求流程
    1、获取本地缓存的access_token,如果超过有效期,则重新获取,如果还没过期,直接使用缓存的access_token
    2、构建请求参数,发起POST请求
    3、获得短网址

    代码
    appid和appsecret可以申请一个微信公众号测试账号进行开发
    申请地址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

    【把《换成<】《?php
    header("Content-type:application/json");
     
    // 声明APPID、APPSECRET
    $appid = "xxx";
    $appsecret = "xxx";
     
    // 获取access_token和jsapi_ticket
    function getToken(){
        $file = file_get_contents("access_token.json",true);//读取access_token.json里面的数据
        $result = json_decode($file,true);
     
    //判断access_token是否在有效期内,如果在有效期则获取缓存的access_token
    //如果过期了则请求接口生成新的access_token并且缓存access_token.json
    if (time() > $result['expires']){
            $data = array();
            $data['access_token'] = getNewToken();
            $data['expires'] = time()+7000;
            $jsonStr =  json_encode($data);
            $fp = fopen("access_token.json", "w");
            fwrite($fp, $jsonStr);
            fclose($fp);
            return $data['access_token'];
        }else{
            return $result['access_token'];
        }
    }
      
    //获取新的access_token
    function getNewToken($appid,$appsecret){
        global $appid;
        global $appsecret;
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret."";
        $access_token_Arr =  file_get_contents($url);
        $token_jsonarr = json_decode($access_token_Arr, true);
        return $token_jsonarr["access_token"];
    }
     
    // 获得长链接
    $long_url = trim($_GET["long_url"]);
     
    // 过滤
    if (empty($long_url)) {
        $result = array(
            "result" => "101",
            "msg" => "请传入长链接"
        );
    } else if (strpos($long_url,'http') !== false){
        //初始化 CURL
        $ch = curl_init();
        //请求地址 
        curl_setopt($ch, CURLOPT_URL, 'https://api.weixin.qq.com/cgi-bin/shorturl?access_token='.getToken());
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        $postdata =  '{"action":"long2short","long_url":"'.$long_url.'"}'; 
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
        // 对认证证书来源的检查
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        // 从证书中检查SSL加密算法是否存在
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
        //获取的信息以文件流的形式返回,而不是直接输出
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        //发起请求
        $dwzStr = curl_exec($ch);
        //解析数据
        $arr_dwzStr = json_decode($dwzStr, true);
        $dwz = $arr_dwzStr["short_url"];
        //关闭请求
        curl_close($ch);
     
        // 返回结果
        $result = array(
            "result" => "100",
            "msg" => "解析成功",
            "dwz" => $dwz
        );
    }else{
        $result = array(
            "result" => "102",
            "msg" => "长链接不合法"
        );
    }
     
    // 返回JSON
    echo json_encode($result,JSON_UNESCAPED_UNICODE);
    ?>

    生成示例
    {“result”:”100″,”msg”:”生成成功”,”dwz”:”https:\/\/w.url.cn\/s\/AVuvUup”}

    1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!kuq@kuqshw.com
    2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
    3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
    4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!

    爱上资源吧 » 微信公众号实现长链接转短链接!w.url.cn短网址生成

    发表评论

    © 2015-2020 爱上资源吧 - 由 互联无限 赞助 武汉类森科技有限公司 & LaySNS Theme. All rights reserved kuq@kuqshw.com

    本站所有资源均采集网络 如有侵权、不妥,请第一时间联系我们【kuq@kuqshw.com】删除。敬请谅解!

    XML地图 | 站长导航