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

使用PHP编写的新浪快速访问 API 的程序代码

发布时间:2023-07-28 13:18:15 所属栏目:PHP教程 来源:
导读:前面写过了一篇文章是图片反盗链的,我自己弄得单独的页面就采用了sina的短连接,对于短连接来说还是方便的,地址太长占地方,下面分享源码,有注释,非原创,代码如下:

<?php
//Sina App_Key
define(&#39;SINA_APPK
前面写过了一篇文章是图片反盗链的,我自己弄得单独的页面就采用了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); 
?> 

(编辑:汽车网)

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

    推荐文章