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&amp;java(二)
Oct 09 PHP
杏林同学录(七)
Oct 09 PHP
利用discuz自带通行证整合dedecms的方法以及文件下载
Mar 06 PHP
由php的call_user_func传reference引发的思考
Jul 23 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
Jun 10 PHP
php中删除、清空session的方式总结
Oct 09 PHP
最新制作ThinkPHP3.2.3完全开发手册
Nov 23 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
Mar 18 PHP
php mysql获取表字段名称和字段信息的三种方法
Nov 13 PHP
PHP实现统计代码行数小工具
Sep 19 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 08 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时间处理类操作示例
2018/09/05 PHP
PHP7 list() 函数修改
2021/03/09 PHP
JavaScript触发器详解
2007/03/10 Javascript
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
固定背景实现的背景滚动特效示例分享
2013/05/19 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
基于LayUI实现前端分页功能的方法
2017/07/22 Javascript
JavaScript实现的超简单计算器功能示例
2017/12/23 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
js中getter和setter用法实例分析
2018/08/14 Javascript
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
python妹子图简单爬虫实例
2015/07/07 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
详解python里的命名规范
2018/07/16 Python
浅谈Python 敏感词过滤的实现
2019/08/15 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
印度低票价航空公司:GoAir
2017/10/11 全球购物
评析教师个人的自我评价
2014/02/19 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
婚庆公司计划书
2014/09/15 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
2015年助残日活动总结
2015/03/27 职场文书
Mysql排序的特性详情
2021/11/01 MySQL
vue+iview实现手机号分段输入框
2022/03/25 Vue.js
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA