程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php調用新浪短鏈接API的方法

php調用新浪短鏈接API的方法

編輯:PHP綜合

本文實例講述了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程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved