加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php完成新浪短链接调用API代码

发布时间:2022-02-11 07:19:05 所属栏目:PHP教程 来源:互联网
导读:前面写过了一篇文章是图片反盗链的,我自己弄得单独的页面就采用了sina的短连接,对于短连接来说还是方便的,地址太长占地方,下面分享源码,有注释,非原创,代码如下: ?php //Sina App_Key define(SINA_APPKEY, 31641035); function curlQuery($url) { //设置附加
  前面写过了一篇文章是图片反盗链的,我自己弄得单独的页面就采用了sina的短连接,对于短连接来说还是方便的,地址太长占地方,下面分享源码,有注释,非原创,代码如下:
 
  <?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;
  }//开源代码Cuoxin.com
  
  //要缩短的网址
  $url = $long; //这里自己看着办,修改成你要缩短的网址还是获取post的数据还是怎么滴。
  
  $url = filterUrl($url);
  $short = sinaShortenUrl($url);
  $ulong = sinaExpandUrl($short);
  ?>
  本文中短连接已经附带的一个appkey不用再自己申请KEY当然你如果需要使用你自己的您也可以自己去替换,至于用法就看你了,镶入到其他程序使用啊?单独做个生成短连接的页面都不管我的事啊,使用方法不多说,最近比较懒.
 
 

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!