短网址服务,可能很多朋友都已经不再陌生,特别是在微博应用中十分普遍,比如,当我们在腾讯、新浪微博发微博时有时发很长的网址连接,但由于微博只限制140个字,所以微博就自动把您发的长网址给转换成短网址了。
我们可能会收到类似于这样的短信,发现其中的链接并不是常规的网址链接,而是个短小精悍的短链接,产品中经常需要这样的需求,如果在给用户下发的短信中是一个很长的连接,用户体验肯定很差,因此我们需要实现长链接转换成短链接。
首先需要申请一个新浪微博开放平台的appkey,申请地址是http://open.t.sina.com.cn/,不过审核相对严格而且比较慢。新浪微博短网址API接口有两种实现方式,第一种是原始的OAuth1.0的验证方式,比较简单,无需申请token,第二种是OAuth2.0的验证方式,这个需要access_token(虽然官方文档http://t.cn/8FgFoL8说可以像第一种那样直接通过appkey验证,但是测试不成功)。因此下面的示例采用的是第一种方式,即直接通过appkey验证。
新浪短网址在线生成代码php
$http= strtolower(substr($_REQUEST["slurl"],0,7)); $https=strtolower(substr($_REQUEST["slurl"],0,8)); $slurl = $http=='http://'||$https=='https://' ? $_POST['slurl']:'http://'.$_POST['slurl']; function sina($type,$url){$key = '31641035'; /* 新浪APPKEY,请改成自己的 */ if($type){ $baseurl = 'http://api.t.sina.com.cn/short_url/shorten.json?source='.$key.'&url_long='.$url; }else{ $baseurl = 'http://api.t.sina.com.cn/short_url/expand.json?source='.$key.'&url_short='.$url; } $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$baseurl); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_TIMEOUT,15); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); $strRes=curl_exec($ch); curl_close($ch); $arrResponse=json_decode($strRes,true); if(isset($arrResponse->error)||!isset($arrResponse[0]['url_long'])||$arrResponse[0]['url_long'] == '')return 0; if($type){ return $arrResponse[0]['url_short']; }else{ return $arrResponse[0]['url_long']; }}?>
html代码获取代码
if($_POST['slurl']){?>原网址: echo $_POST['slurl'].'
';}?> if(sina(1,$slurl)!='0'){?>短网址: echo sina(1,$slurl);?> }?>
1、本网站名称:源码村资源网
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » PHP实现长链接转化成新浪短链接API代码分享
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » PHP实现长链接转化成新浪短链接API代码分享