php调用新浪微博短链接api接口地址例子
发布:smiling 来源: PHP粉丝网 添加日期:2016-07-27 09:28:15 浏览: 评论:0
短链接我们可以自己生成当然也可以调用第三方的如我们调用新浪微博短链接api接口即可生成自己要的地址了,下面来看一些小编总结的例子.
新浪短网址接口的稳定性和跳转速度还是很给力的,现给出其API说明.
该接口支持两种返回格式:xml和json
对应的URL请求地址为:
xml:http://api.t.sina.com.cn/short_url/shorten.xml
json:http://api.t.sina.com.cn/short_url/shorten.json
使用说明 请求方式:GET 请求参数:
source:应用的appkey
url_long:需要转换的长链接
举个例子,代码如下:
xml:http://api.t.sina.com.cn/short_url/shorten.xml?source=123456789&url_long==https://www.phpfensi.com
返回内容为:
- <urls>
- <url>
- <url_short>http://t.cn/123456789</url_short>
- <url_long>=https://www.phpfensi.com</url_long>
- <type>0</type>
- </url>
- </urls>
- json:http://api.t.sina.com.cn/short_url/shorten.json?source=123456789&url_long=https://www.phpfensi.com
返回内容为:
[{"url_short":"http://t.cn/123456789","url_long":https://www.phpfensi.com","type":0}]
代码如下:
- <?php
- session_start();
- $allow_sep = '2';
- if (isset($_SESSION['post_sep'])) {
- if (time() - $_SESSION['post_sep'] < $allow_sep) {
- die('请不要频繁刷新,休息2秒再刷新吧');
- } else {
- $_SESSION['post_sep'] = time();
- }
- } else {
- $_SESSION['post_sep'] = time();
- }
- ?>
php原始做法,代码如下:
- #短连接生成算法
- class Short_Url {
- #字符表
- public static $charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
- public static function short($url) {
- $key = "alexis";
- $urlhash = md5($key . $url);
- $len = strlen($urlhash);
- #将加密后的串分成4段,每段4字节,对每段进行计算,一共可以生成四组短连接
- for ($i = 0; $i < 4; $i++) {
- $urlhash_piece = substr($urlhash, $i * $len / 4, $len / 4);
- #将分段的位与0x3fffffff做位与,0x3fffffff表示二进制数的30个1,即30位以后的加密串都归零
- $hex = hexdec($urlhash_piece) & 0x3fffffff; #此处需要用到hexdec()将16进制字符串转为10进制数值型,否则运算会不正常
- $short_url = "http://t.cn/";
- #生成6位短连接
- for ($j = 0; $j < 6; $j++) {
- #将得到的值与0x0000003d,3d为61,即charset的坐标最大值
- $short_url .= self::$charset[$hex & 0x0000003d];
- #循环完以后将hex右移5位
- $hex = $hex >> 5;
- }
- $short_url_list[] = $short_url;
- }
- return $short_url_list;
- }
- }
- $url = http://www.phpfensi.com;
- $short = Short_Url::short($url);
- print_r($short);
调用方法,代码如下:
- $short = Short_Url::short('www.phpfensi.com');
- var_dump($short);
- //省略链接memcache
- $memcache->set($cacheKey.$short[0],“原始地址”);
Tags: php新浪接口 短链接 api
- 上一篇:用PHP实现URL转换短网址的算法示例
- 下一篇:PHP中抽象类和接口的区别与例子
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)