PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
发布:smiling 来源: PHP粉丝网 添加日期:2021-11-10 16:14:07 浏览: 评论:0
这篇文章主要介绍了PHP通过调用新浪API生成t.cn格式短网址链接的方法,结合实例形式较为详细的分析了php调用新浪API生成t.cn格式短网址链接的具体操作步骤与相关注意事项,需要的朋友可以参考下。
本文实例讲述了PHP通过调用新浪API生成t.cn格式短网址链接的方法,分享给大家供大家参考,具体如下:
新浪提供了长链接转为短链接的API,可以把长链接转为 t.cn/xxx 这种格式的短链接。
API:
http://api.t.sina.com.cn/short_url/shorten.json (返回结果是JSON格式)
http://api.t.sina.com.cn/short_url/shorten.xml (返回结果是XML格式)
请求参数:
source 申请应用时分配的AppKey,调用接口时代表应用的唯一身份。
url_long 需要转换的长链接,需要URLencoded,最多不超过20个。
多个url参数需要使用如下方式请求:url_long=aaa&url_long=bbb
创建source方法
1.进入http://open.weibo.com/ ,选择菜单 微连接->网站接入。
2.点击立即接入,创建新应用,随便填写应用名称,点击创建。
3.创建成功后,AppKey就是source参数的值,可以用于请求创建短链接。
测试代码:
- <?php
- $api = 'http://api.t.sina.com.cn/short_url/shorten.json'; // json
- // $api = 'http://api.t.sina.com.cn/short_url/shorten.xml'; // xml
- $source = '您申请的AppKey';
- $url_long = 'https://www.jb51.net/';
- $request_url = sprintf($api.'?source=%s&url_long=%s', $source, $url_long);
- $data = file_get_contents($request_url);
- echo $data;
- ?>
返回JSON格式
- [
- {
- "url_short": "http:\/\/t.cn\/Rki0twp",
- "url_long": "http:\/\/www.cnblogs.com\/daxiangxm",
- "type": 0
- }
- ]
返回XML格式
- <?xml version="1.0" encoding="UTF-8"?><urls>
- <url>
- <url_short>http://t.cn/RBclsRo</url_short>
- <url_long>https://www.jb51.net/</url_long>
- <type>0</type>
- </url></urls>
生成的短链接为 http://t.cn/RBclsRo ,访问会跳转到 https://www.phpfensi.com/
完整调用方法如下:
- <?php/**
- * 调用新浪接口将长链接转为短链接
- * @param string $source 申请应用的AppKey
- * @param array|string $url_long 长链接,支持多个转换(需要先执行urlencode)
- * @return array
- */function getSinaShortUrl($source, $url_long){
- // 参数检查
- if(emptyempty($source) || !$url_long){<br> return false;
- } // 参数处理,字符串转为数组
- if(!is_array($url_long)){<br> $url_long = array($url_long);
- } // 拼接url_long参数请求格式
- $url_param = array_map(function($value){
- return '&url_long='.urlencode($value);
- }, $url_long);<br> $url_param = implode('', $url_param);
- // 新浪生成短链接接口
- $api = 'http://api.t.sina.com.cn/short_url/shorten.json'; // 请求url
- $request_url = sprintf($api.'?source=%s%s', $source, $url_param); <br> $result = array(); // 执行请求
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_URL, $request_url); <br> $data = curl_exec($ch);<br> if($error=curl_errno($ch)){<br> return false;
- }
- curl_close($ch); $result = json_decode($data, true); return $result;
- }
- //AppKey <br>$source = '您申请的AppKey';<br>// 单个链接转换
- $url_long = 'https://www.phpfensi.com/';<br>$data = getSinaShortUrl($source, $url_long);
- print_r($data);<br>// 多个链接转换
- $url_long = array('https://www.phpfensi.com/','https://www.phpfensi.com/','https://www.phpfensi.com/');
- $data = getSinaShortUrl($source, $url_long);
- print_r($data);
- ?>
输出:
- Array(
- [0] => Array
- (
- [url_short] => http://t.cn/RBclsRo
- [url_long] => https://www.phpfensi.com/
- [type] => 0
- )
- )Array(
- [0] => Array
- (
- [url_short] => http://t.cn/RBclsRo
- [url_long] => https://www.phpfensi.com/
- [type] => 0
- )
- [1] => Array
- (
- [url_short] => http://t.cn/RBclsRo
- [url_long] => https://www.phpfensi.com/
- [type] => 0
- )
- [2] => Array
- (
- [url_short] => http://t.cn/RBclsRo
- [url_long] => https://www.phpfensi.com/
- [type] => 0
- )
- )
经测试,这个生成接口还是比较稳定的!
Tags: PHP调用新浪API PHP短网址
相关文章
- ·用PHP实现URL转换短网址的算法示例(2016-07-27)
- ·php实现的短网址算法分享(2021-02-28)
- ·php短网址和数字之间相互转换的方法(2021-05-16)
- ·php简单实现短网址(短链)还原的方法(测试可用)(2021-08-02)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)