欢迎访问 舍力博客(www.shuyong.net)

当前位置:首页 » 代码教程 » PHP实现长链接转化成新浪短链接API代码分享

打开支付宝首页搜索“8831244”,即可领红包

PHP实现长链接转化成新浪短链接API代码分享

日期:2018-09-13   分类:代码教程
短网址服务,可能很多朋友都已经不再陌生,特别是在微博应用中十分普遍,比如,当我们在腾讯、新浪微博发微博时有时发很长的网址连接,但由于微博只限制140个字,所以微博就自动把您发的长网址给转换成短网址了。

我们可能会收到类似于这样的短信,发现其中的链接并不是常规的网址链接,而是个短小精悍的短链接,产品中经常需要这样的需求,如果在给用户下发的短信中是一个很长的连接,用户体验肯定很差,因此我们需要实现长链接转换成短链接。

首先需要申请一个新浪微博开放平台的appkey,申请地址是http://open.t.sina.com.cn/,不过审核相对严格而且比较慢。新浪微博短网址API接口有两种实现方式,第一种是原始的OAuth1.0的验证方式,比较简单,无需申请token,第二种是OAuth2.0的验证方式,这个需要access_token(虽然官方文档http://t.cn/8FgFoL8说可以像第一种那样直接通过appkey验证,但是测试不成功)。因此下面的示例采用的是第一种方式,即直接通过appkey验证。

新浪短网址在线生成代码php
<?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代码
   <form method="post" name="commentform" onSubmit="return SLyz();">
    <div class="dwz-ms">输入你要简化的URL网址:</div>
    <textarea id="slurl" name="slurl"></textarea>
    <button type="submit"/>生成短网址</button>
   </form
获取代码
<?php if($_POST['slurl']){?>原网址:<?php echo $_POST['slurl'].'<br />';}?>
<?php if(sina(1,$slurl)!='0'){?>短网址:<?php echo sina(1,$slurl);?><?php }?>

 演示地址:dwz.shuyong.net
温馨提示:如果您对本文有疑问,请在本页留言即可,其他途径暂不回复!!!
blogger
    本页正文内容约1810个文字
    本文地址:http://www.shuyong.net/chengxu/1054.html
    除非注明,文章均为 【舍力博客】 原创,欢迎转载!转载请注明本文地址,谢谢!
    百度已收录
觉得很赞 (0)打赏
X
打赏方式:
  • 支付宝
  • 微信
  • QQ红包

打开支付宝扫一扫
  • 上一篇:没有了
  • 下一篇:
  • 打开支付宝首页搜索“8831244”,即可领红包

    留言/评论:◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    填写好QQ号码,任点空白处自动获取

    昵称

    邮箱

    网址

    1楼、失去才会珍惜 [回复该留言]
    2018-10-26 21:27
    怎么实现批量生成啊,大神
    舍力 [回复该留言]
    2018-10-27 11:05
    @失去才会珍惜:什么叫批量生成?
    失去才会珍惜 [回复该留言]
    2018-10-27 13:22
    @舍力:http://tool.chinaz.com/tools/sinadwz.aspx就像这个这样的,文本框一行一个

    个人资料

    舍力

    博主:舍力

    Emlog交流群

      网站制作
      1、博客网站以Emlog为程序;
      2、企业网站建议以米拓MetInfo为程序,当然也可以用Emlog来做。

    博客统计

    • 文章数量:1056篇
    • 文章评论:3155条
    • 总访问量:3511304次
    • 微语数量:50条
    • 在线人数:5人
    • 本站运行:5年3月21天
    • 博主连续3天都没有更新文章了!
    PC端所有页面:广告位3,招租联系QQ345952779
    Copyright © 2018 舍力博客 版权所有   粤ICP备11021420号
    基于宝塔面板,数据存储于阿里云ECS
    Powered by emlog / &Author 舍力博客.