资讯专栏INFORMATION COLUMN

新浪微博API生成短链接

MageekChiu / 2014人阅读

摘要:通过新浪微博,生成短链接,支持一次性转多个长链接什么是短链接短链接,通俗来说,就是将长的网址,通过程序计算等方式,转换为简短的网址字符串。

通过新浪微博API,生成短链接,支持一次性转多个长链接 什么是短链接
短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。
短链接服务

国内各大微博都推出了自己的短链接服务。例如新浪微博、腾讯微博等。

为什么选用新浪微博API

新浪微博短链接API是开放的

新浪微博短链接API不需要用户登录

文档查询链接

short_url/shorten接口地址

网上的一些公开的AppKey

新浪微博短链接在线生成

使用方法

拿到自己的AppKey后,替换类的成员属性$appKey的值即可,如下这样的,$shortUrl是API请求地址

// APPkey,我在网上找的(https://fengmk2.com/blog/appkey.html),可以自己申请
protected $appKey = "569452181";
// 转短连接API地址
protected $shortUrl = "https://api.weibo.com/2/short_url/shorten.json?";

其他的,基本不需要配置,直接实例化类ShortLink,然后调用方法getShortUrl即可,需要说明的是长链接URL数组$longUrl里的值可以传多个值

当然了,为了方便,我写为一个类,可以根据自己的需要,进行调整,满足自己的需求即可。

源码
 $code, "msg" => $msg, "result" => $result];
        }
        // 拼接请求URL
        $longUrlStr = $this->_getLongUrl($longUrl);
        $shortUrl = $this->shortUrl;
        $appKey = $this->appKey;
        $param = "source=" . $appKey . "&" . $longUrlStr;
        $curlUrl = $shortUrl . $param;
        // 发送CURL请求
        $result = $this->_sendCurl($curlUrl);
        return ["code" => $code, "msg" => $msg, "result" => $result];
    }

    /**
     * 获取请求URL字符串
     * @param array $longUrl 长链接数组
     * @return string 长链接URL字符串
     */
    private function _getLongUrl($longUrl = []) {
        $str = "";
        foreach ($longUrl as $url) {
            $str .= ("url_long=" . $url . "&");
        }
        $newStr = substr($str, 0, strlen($str) - 1);
        return $newStr;
    }

    /**
     * 发送CURL请求(GET)
     * @param string $curlUrl 请求地址
     * @return array 返回信息
     */
    private function _sendCurl($curlUrl) {
        // 初始化
        $ch = curl_init();
        // 设置选项,包括URL
        curl_setopt($ch, CURLOPT_URL, $curlUrl);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        // 执行并获取HTML文档内容
        $output = curl_exec($ch);
        // 释放curl句柄
        curl_close($ch);
        // Json数据转为数组
        $result = json_decode($output, true);
        return $result;
    }
}

// 实例化对象
$shortObj = new ShortLink();
// 多个连接可以直接放到数组中,类似$longUrl = ["url1", "url2", ……]
$longUrl = ["http://blog.y0701.com/index.html"];
// 开始转长链接为短链接
$result = $shortObj->getShortUrl($longUrl);
print_r($result);
结束语

上面说到的网上查找得到的一些AppKey,因为来源不明,所以,不建议用于生产环境,需要用于生产环境的话,建议直接在新浪微博开发者平台里创建自己的应用就行。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29224.html

相关文章

  • 利用新浪API实现数据的抓取微博数据爬取微博爬虫

    摘要:本人长期出售超大量微博数据旅游网站评论数据,并提供各种指定数据爬取服务,。如果用户传入伪造的,则新浪微博会返回一个错误。 PS:(本人长期出售超大量微博数据、旅游网站评论数据,并提供各种指定数据爬取服务,Message to YuboonaZhang@Yahoo.com。由于微博接口更新后限制增大,这个代码已经不能用来爬数据了。如果只是为了收集数据可以咨询我的邮箱,如果是为了学习爬虫,...

    liuyix 评论0 收藏0
  • 利用新浪API实现数据的抓取微博数据爬取微博爬虫

    摘要:本人长期出售超大量微博数据旅游网站评论数据,并提供各种指定数据爬取服务,。如果用户传入伪造的,则新浪微博会返回一个错误。 PS:(本人长期出售超大量微博数据、旅游网站评论数据,并提供各种指定数据爬取服务,Message to YuboonaZhang@Yahoo.com。由于微博接口更新后限制增大,这个代码已经不能用来爬数据了。如果只是为了收集数据可以咨询我的邮箱,如果是为了学习爬虫,...

    vslam 评论0 收藏0
  • 网址原理和实现

    摘要:背景介绍相信很多人手机上都收到过一些营销短信,短信里面有时候会附带一些网址,如下图这些网址往往都是非常短,但是当我们打开之后,如果你仔细观察,中间会有跳转,最终浏览器地址栏显示的网址并不是你短信里面看到的网址,这就是短网址原理和应用短网1.背景介绍 相信很多人手机上都收到过一些营销短信,短信里面有时候会附带一些网址,如下图 showImg(https://user-gold-cdn.xitu...

    sihai 评论0 收藏0

发表评论

0条评论

MageekChiu

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<