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 相关文章推荐
mysql时区问题
Mar 26 PHP
PHP 编写的 25个游戏脚本
May 11 PHP
通过PHP CLI实现简单的数据库实时监控调度
Jul 01 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
Dec 29 PHP
ThinkPHP模板Switch标签用法示例
Jun 30 PHP
php实现简单文件下载的方法
Jan 30 PHP
PHP中$_SERVER使用说明
Jul 05 PHP
php获取汉字拼音首字母的方法
Oct 21 PHP
php parse_str() 函数的定义和用法
May 23 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
php fread函数使用方法总结
May 28 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设计模式之责任链模式的深入解析
2013/06/13 PHP
ThinkPHP在新浪SAE平台的部署实例
2014/10/31 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
php使用ereg验证文件上传的方法
2014/12/16 PHP
php+html5基于websocket实现聊天室的方法
2015/07/17 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
JSON 编辑器实现代码
2009/12/06 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
Jquery Ajax请求代码(2)
2011/01/07 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
2013/01/11 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
AngularJS开发教程之控制器之间的通信方法分析
2016/12/25 Javascript
jquery easyui DataGrid简单示例
2017/01/23 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
浅析Python中的序列化存储的方法
2015/04/28 Python
python实现bucket排序算法实例分析
2015/05/04 Python
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
2017/07/24 Python
小结Python的反射机制
2020/09/28 Python
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
小学生运动会通讯稿
2014/09/23 职场文书
求职自我评价范文100字
2014/09/23 职场文书
工商局副局长个人对照检查材料
2014/09/25 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
师德标兵先进事迹材料
2014/12/19 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
Pytorch 如何实现常用正则化
2021/05/27 Python