本文实例讲述了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参数的值,可以用于请求创建短链接。

测试代码:

$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格式

http://t.cn/RBclsRo

https://www.jb51.net/

0

生成的短链接为 http://t.cn/RBclsRo ,访问会跳转到 https://www.jb51.net/

完整调用方法如下:

* 调用新浪接口将长链接转为短链接

* @param string $source 申请应用的AppKey

* @param array|string $url_long 长链接,支持多个转换(需要先执行urlencode)

* @return array

*/function getSinaShortUrl($source, $url_long){

// 参数检查

if(empty($source) || !$url_long){
return false;

} // 参数处理,字符串转为数组

if(!is_array($url_long)){
$url_long = array($url_long);

} // 拼接url_long参数请求格式

$url_param = array_map(function($value){

return '&url_long='.urlencode($value);

}, $url_long);
$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);
$result = array(); // 执行请求

$ch = curl_init();

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_URL, $request_url);
  $data = curl_exec($ch);
if($error=curl_errno($ch)){
return false;

}

curl_close($ch); $result = json_decode($data, true); return $result;

}

//AppKey
$source = '您申请的AppKey';
// 单个链接转换

$url_long = 'https://www.jb51.net/';
$data = getSinaShortUrl($source, $url_long);

print_r($data);
// 多个链接转换

$url_long = array('https://www.jb51.net/','https://www.jb51.net/','https://www.jb51.net/');

$data = getSinaShortUrl($source, $url_long);

print_r($data);

?>

输出:

Array(

[0] => Array

(

[url_short] => http://t.cn/RBclsRo

[url_long] => https://www.jb51.net/

[type] => 0

)

)Array(

[0] => Array

(

[url_short] => http://t.cn/RBclsRo

[url_long] => https://www.jb51.net/

[type] => 0

)

[1] => Array

(

[url_short] => http://t.cn/RBclsRo

[url_long] => https://www.jb51.net/

[type] => 0

)

[2] => Array

(

[url_short] => http://t.cn/RBclsRo

[url_long] => https://www.jb51.net/

[type] => 0

)

)

经测试,这个生成接口还是比较稳定的!

PS:这里为大家推荐一款本站短网址生成工具(也是使用的第三方API接口生成的短网址)

短链(短网址)在线生成工具:http://tools.jb51.net/password/dwzcreate

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》及《PHP中json格式数据操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

php短链接api,PHP通过调用新浪API生成t.cn格式短网址链接的方法详解相关推荐

  1. api.php t.cn,PHP通过调用新浪API生成t.cn格式短网址链接的方法详解

    本文实例讲述了PHP通过调用新浪API生成t.cn格式短网址链接的方法.分享给大家供大家参考,具体如下: 新浪提供了长链接转为短链接的API,可以把长链接转为 t.cn/xxx 这种格式的短链接. A ...

  2. php查询ip归属地api接口_php调用新浪接口查询ip获取地理位置(ip归属地查询)

    php调用新浪接口查询ip获取地理位置(ip归属地查询) 发布于 2014-11-17 08:35:58 | 115 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: ...

  3. PHP调用新浪API 生成短链接

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

  4. C#长链接转短链接(调用新浪api)

     /// <summary>  /// 长链接转短链接  /// </summary>  /// <param name="longUrl"> ...

  5. php新浪api,php调用新浪短链接API的方法,php调用新浪api_PHP教程

    php调用新浪短链接API的方法,php调用新浪api 本文实例讲述了php调用新浪短链接API的方法.分享给大家供大家参考.具体方法如下: 复制代码 代码如下: //Sina App_Key def ...

  6. 新浪短网址生成java_如何生成t.cn的短链接?新浪短网址怎么生成的?

    t.cn短链接.新浪短网址是什么? 短网址顾名思义就是一个很短的链接和网址,常用于将一个长连接缩短成一个短链接,方便利于推广.  t.cn短网址,可能很多朋友都已经不再陌生,特别是在微博.微信.朋友圈 ...

  7. 新浪短链api java_php调用新浪短链接API的方法

    本文实例讲述了php调用新浪短链接API的方法.分享给大家供大家参考.具体方法如下: //Sina App_Key define('SINA_APPKEY', '31641035'); functio ...

  8. php调用新浪短链接API转短链接

    调用新浪短链api,长链接可转为http://t.cn/RX7mLZh这种t.cn短链,同时可转回原链接! //新浪的App_Key const SINAAPPKEY = '291**161014'; ...

  9. 利用新浪API批量生成t.cn 短链接的接口有哪些?

    新浪提供了长链接转为短链接的API,可以把长链接转为t.cn/xxx这种格式的短链接.短链接对于一些商家来说使用价值非常大,故整理了6个较为好用的t.cn短链接批量生成接口. 1.快鸟短网址 随着移动 ...

最新文章

  1. allegro16.3 中的orcad capture CIS 无法打开何解决?
  2. 计算机组成原理(分析计算题解析)内附填空,选择,解答题答案
  3. CUDA从入门到精通(四):加深对设备的认识
  4. 通过Spring将继承树加载到List中
  5. Windows学习总结(22)——Windows基线检查加固脚本
  6. Android(java方法)上实现mp4的分割和拼接 (一)
  7. android 禁止软键盘弹出自动弹出,Android屏蔽软键盘自动弹出的解决方案
  8. 小游戏开发引擎CocosCreator
  9. 从0开发豆果美食小程序——tag组件
  10. 如何在Windows系统上实现共享文件夹
  11. LC振荡电路的工作原理
  12. python 实现阿里云VPS 邮件发送测试
  13. 【青少年编程】【四级】计算三角形面积
  14. springboot 结合 ice(飞冰) 实现上传功能
  15. DHCP协议说明及报文分析
  16. 协同数据交换平台详细设计方案(word)
  17. 计算机专业哪些科目要好,2022考研:计算机专业需要准备哪些科目?
  18. Java版本的有趣代号
  19. 雷达导引头伺服系统的建模与仿真
  20. 单台服务器做redis集群

热门文章

  1. android studio 预览问题 :java.lang.NoClassDefFoundError: com/android/util/PropertiesMap
  2. html表格列平分行,CSS布局问题 , 如何实现一行多列div,类似于表格
  3. matlab两张图片合成一张_二次曝光合成手机照片剪影照并不难,这样用snapseed轻松实现...
  4. 拒绝用户“root”@“localhost”的访问(使用密码:yes)_使用PHP和Github Webhook实现自动部署
  5. 电商运营、美工必备导航类网站,有效提高工作效率
  6. 后台UI专辑模板有这些就够了!
  7. php使用常量cont,php常量介绍
  8. k8s删除deployment_VPGAME k8s迁移实践(5) Deployment 与 Service 配置
  9. mysql+影响的行数+获取_CI中获取读操作的结果集行数+获取写操作的影响行数
  10. Linux内存管理:知识点总结(ARM64)