php调用新浪短链接API的方法


Posted in PHP onNovember 08, 2014

本文实例讲述了php调用新浪短链接API的方法。分享给大家供大家参考。具体方法如下:

<?php

//Sina App_Key

define('SINA_APPKEY', '31641035');

function curlQuery($url) {

 //设置附加HTTP头

 $addHead = array(

 "Content-type: application/json"

 );

 //初始化curl,当然,你也可以用fsockopen代替

 $curl_obj = curl_init();

 //设置网址

 curl_setopt($curl_obj, CURLOPT_URL, $url);

 //附加Head内容

 curl_setopt($curl_obj, CURLOPT_HTTPHEADER, $addHead);

 //是否输出返回头信息

 curl_setopt($curl_obj, CURLOPT_HEADER, 0);

 //将curl_exec的结果返回

 curl_setopt($curl_obj, CURLOPT_RETURNTRANSFER, 1);

 //设置超时时间

 curl_setopt($curl_obj, CURLOPT_TIMEOUT, 15);

 //执行

 $result = curl_exec($curl_obj);

 //关闭curl回话

 curl_close($curl_obj);

 return $result;

}

//简单处理下url,sina对于没有协议(http://)开头的和不规范的地址会返回错误

function filterUrl($url = '') {

 $url = trim(strtolower($url));

 $url = trim(preg_replace('/^http:///', '', $url));

 if ($url == '')

 return false;

 else

 return urlencode('http://' . $url);

}

//根据长网址获取短网址

function sinaShortenUrl($long_url) {

 //拼接请求地址,此地址你可以在官方的文档中查看到

 $url = 'http://api.t.sina.com.cn/short_url/shorten.json?source=' . SINA_APPKEY . '&url_long=' . $long_url;

 //获取请求结果

 $result = curlQuery($url);

 //下面这行注释用于调试,你可以把注释去掉看看从sina返回的信息是什么东西

 //print_r($result);exit();

 //解析json

 $json = json_decode($result);

 //异常情况返回false

 if (isset($json->error) || !isset($json[0]->url_short) || $json[0]->url_short == '')

 return false;

 else

 return $json[0]->url_short;

}

//根据短网址获取长网址,此函数重用了不少sinaShortenUrl中的代码,以方便你阅读对比,你可以自行合并两个函数

function sinaExpandUrl($short_url) {

 //拼接请求地址,此地址你可以在官方的文档中查看到

 $url = 'http://api.t.sina.com.cn/short_url/expand.json?source=' . SINA_APPKEY . '&url_short=' . $short_url;

 //获取请求结果

 $result = curlQuery($url);

 //下面这行注释用于调试,你可以把注释去掉看看从sina返回的信息是什么东西

 //print_r($result);exit();

 //解析json

 $json = json_decode($result);

 //异常情况返回false

 if (isset($json->error) || !isset($json[0]->url_long) || $json[0]->url_long == '')

 return false;

 else

 return $json[0]->url_long;

}

//要缩短的网址

$url = $long; //这里自己看着办,修改成你要缩短的网址还是获取post的数据还是怎么滴。

$url = filterUrl($url);

$short = sinaShortenUrl($url);

$ulong = sinaExpandUrl($short);

?>

本文中短连接已经附带的一个appkey不用再自己申请KEY当然你如果需要使用你自己的您也可以自己去替换。至于用法就看你了,镶入到其他程序使用,单独做个生成短连接的页面都可以。使用方法就不多说了。

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

PHP 相关文章推荐
PHP 缓存实现代码及详细注释
May 16 PHP
PHP游戏编程25个脚本代码
Feb 08 PHP
PHP--用万网的接口实现域名查询功能
Dec 13 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
Jun 28 PHP
分享下PHP register_globals 值为on与off的理解
Sep 26 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
smarty实现多级分类的方法
Dec 05 PHP
PHP中使用BigMap实例
Mar 30 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
CodeIgniter辅助之第三方类库third_party用法分析
Jan 20 PHP
php array_reverse 以相反的顺序返回数组实例代码
Apr 11 PHP
PHP chunk_split()函数讲解
Feb 12 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 #PHP
php实现把url转换迅雷thunder资源下载地址的方法
Nov 07 #PHP
php采用file_get_contents代替使用curl实例
Nov 07 #PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 #PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 #PHP
php的curl封装类用法实例
Nov 07 #PHP
PHP使用ob_start生成html页面的方法
Nov 07 #PHP
You might like
一段php加密解密的代码
2006/10/09 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
PHP实现取得HTTP请求的原文
2014/08/18 PHP
开启PHP Static 关键字之旅模式
2015/11/13 PHP
CakePHP框架Model关联对象用法分析
2017/08/04 PHP
php输出控制函数和输出函数生成静态页面
2019/06/27 PHP
基于jQuery的图片剪切插件
2011/08/03 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
一篇超完整的Vue新手入门指导教程
2020/11/18 Vue.js
pyv8学习python和javascript变量进行交互
2013/12/04 Python
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
python opencv实现证件照换底功能
2019/08/19 Python
详解Django配置优化方法
2019/11/18 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
python IP地址转整数
2020/11/20 Python
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
师德学习感言
2014/01/31 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
中学教师个人总结
2015/02/10 职场文书
红色革命电影观后感
2015/06/18 职场文书
Redis IP地址的绑定的实现
2021/05/08 Redis
golang的文件创建及读写操作
2022/04/14 Golang