php实现新浪短链接调用API代码
前面写过了一篇文章是图片反盗链的,我自己弄得单独的页面就采用了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; } //开源代码phpfensi.com //要缩短的网址 $url = $long ; //这里自己看着办,修改成你要缩短的网址还是获取post的数据还是怎么滴。 $url = filterUrl( $url ); $short = sinaShortenUrl( $url ); $ulong = sinaExpandUrl( $short ); ?>本文中短连接已经附带的一个appkey不用再自己申请KEY当然你如果需要使用你自己的您也可以自己去替换,至于用法就看你了,镶入到其他程序使用啊?单独做个生成短连接的页面都不管我的事啊,使用方法不多说,最近比较懒.
查看更多关于php实现新浪短链接调用API代码 - php高级应用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30022