当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-24 16:24:54 浏览: 评论:0 

这篇文章主要介绍了php调用新浪短链接API的方法,以实例的形式详细讲述了php调用新浪短链接API的具体步骤与代码功能,非常具有实用价值,需要的朋友可以参考下

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

  1. <?php 
  2. //Sina App_Key 
  3. define('SINA_APPKEY''31641035'); 
  4. function curlQuery($url) { 
  5.  //设置附加HTTP头 
  6.  $addHead = array
  7.  "Content-type: application/json" 
  8.  ); 
  9.  //初始化curl,当然,你也可以用fsockopen代替 
  10.  $curl_obj = curl_init(); 
  11.  //设置网址 
  12.  curl_setopt($curl_obj, CURLOPT_URL, $url); 
  13.  //附加Head内容 
  14.  curl_setopt($curl_obj, CURLOPT_HTTPHEADER, $addHead); 
  15.  //是否输出返回头信息 
  16.  curl_setopt($curl_obj, CURLOPT_HEADER, 0); 
  17.  //将curl_exec的结果返回 
  18.  curl_setopt($curl_obj, CURLOPT_RETURNTRANSFER, 1); 
  19.  //设置超时时间 
  20.  curl_setopt($curl_obj, CURLOPT_TIMEOUT, 15); 
  21.  //执行 
  22.  $result = curl_exec($curl_obj); 
  23.  //关闭curl回话 
  24.  curl_close($curl_obj); 
  25.  return $result
  26. //简单处理下url,sina对于没有协议(http://)开头的和不规范的地址会返回错误 
  27. function filterUrl($url = '') { 
  28.  $url = trim(strtolower($url)); 
  29.  $url = trim(preg_replace('/^http:///'''$url)); 
  30.  if ($url == ''
  31.  return false; 
  32.  else 
  33.  return urlencode('http://' . $url); 
  34. //根据长网址获取短网址 
  35. function sinaShortenUrl($long_url) { 
  36.  //拼接请求地址,此地址你可以在官方的文档中查看到 
  37.  $url = 'http://api.t.sina.com.cn/short_url/shorten.json?source=' . SINA_APPKEY . '&url_long=' . $long_url
  38.  //获取请求结果 
  39.  $result = curlQuery($url); 
  40.  //下面这行注释用于调试,你可以把注释去掉看看从sina返回的信息是什么东西 
  41.  //print_r($result);exit(); 
  42.  //解析json 
  43.  $json = json_decode($result); 
  44.  //异常情况返回false 
  45.  if (isset($json->error) || !isset($json[0]->url_short) || $json[0]->url_short == ''
  46.  return false; 
  47.  else 
  48.  return $json[0]->url_short; 
  49. //根据短网址获取长网址,此函数重用了不少sinaShortenUrl中的代码,以方便你阅读对比,你可以自行合并两个函数 
  50. function sinaExpandUrl($short_url) { 
  51.  //拼接请求地址,此地址你可以在官方的文档中查看到 
  52.  $url = 'http://api.t.sina.com.cn/short_url/expand.json?source=' . SINA_APPKEY . '&url_short=' . $short_url
  53.  //获取请求结果 
  54.  $result = curlQuery($url); 
  55.  //下面这行注释用于调试,你可以把注释去掉看看从sina返回的信息是什么东西 
  56.  //print_r($result);exit(); 
  57.  //解析json 
  58.  $json = json_decode($result); 
  59.  //异常情况返回false 
  60.  if (isset($json->error) || !isset($json[0]->url_long) || $json[0]->url_long == ''
  61.  return false; 
  62.  else 
  63.  return $json[0]->url_long; 
  64. }//www.phpfensi.com 
  65. //要缩短的网址 
  66. $url = $long//这里自己看着办,修改成你要缩短的网址还是获取post的数据还是怎么滴。 
  67. $url = filterUrl($url); 
  68. $short = sinaShortenUrl($url); 
  69. $ulong = sinaExpandUrl($short); 
  70. ?> 

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

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

Tags: php新浪短链接

分享到: