php調(diào)用新浪短鏈接API的方法
更新時(shí)間:2014年11月08日 12:05:21 投稿:shichen2014
這篇文章主要介紹了php調(diào)用新浪短鏈接API的方法,以實(shí)例的形式詳細(xì)講述了php調(diào)用新浪短鏈接API的具體步驟與代碼功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了php調(diào)用新浪短鏈接API的方法。分享給大家供大家參考。具體方法如下:
復(fù)制代碼 代碼如下:
<?php
//Sina App_Key
define('SINA_APPKEY', '31641035');
function curlQuery($url) {
//設(shè)置附加HTTP頭
$addHead = array(
"Content-type: application/json"
);
//初始化curl,當(dāng)然,你也可以用fsockopen代替
$curl_obj = curl_init();
//設(shè)置網(wǎng)址
curl_setopt($curl_obj, CURLOPT_URL, $url);
//附加Head內(nèi)容
curl_setopt($curl_obj, CURLOPT_HTTPHEADER, $addHead);
//是否輸出返回頭信息
curl_setopt($curl_obj, CURLOPT_HEADER, 0);
//將curl_exec的結(jié)果返回
curl_setopt($curl_obj, CURLOPT_RETURNTRANSFER, 1);
//設(shè)置超時(shí)時(shí)間
curl_setopt($curl_obj, CURLOPT_TIMEOUT, 15);
//執(zhí)行
$result = curl_exec($curl_obj);
//關(guān)閉curl回話
curl_close($curl_obj);
return $result;
}
//簡單處理下url,sina對于沒有協(xié)議(http://)開頭的和不規(guī)范的地址會(huì)返回錯(cuò)誤
function filterUrl($url = '') {
$url = trim(strtolower($url));
$url = trim(preg_replace('/^http:///', '', $url));
if ($url == '')
return false;
else
return urlencode('http://' . $url);
}
//根據(jù)長網(wǎng)址獲取短網(wǎng)址
function sinaShortenUrl($long_url) {
//拼接請求地址,此地址你可以在官方的文檔中查看到
$url = 'http://api.t.sina.com.cn/short_url/shorten.json?source=' . SINA_APPKEY . '&url_long=' . $long_url;
//獲取請求結(jié)果
$result = curlQuery($url);
//下面這行注釋用于調(diào)試,你可以把注釋去掉看看從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;
}
//根據(jù)短網(wǎng)址獲取長網(wǎng)址,此函數(shù)重用了不少sinaShortenUrl中的代碼,以方便你閱讀對比,你可以自行合并兩個(gè)函數(shù)
function sinaExpandUrl($short_url) {
//拼接請求地址,此地址你可以在官方的文檔中查看到
$url = 'http://api.t.sina.com.cn/short_url/expand.json?source=' . SINA_APPKEY . '&url_short=' . $short_url;
//獲取請求結(jié)果
$result = curlQuery($url);
//下面這行注釋用于調(diào)試,你可以把注釋去掉看看從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;
}
//要縮短的網(wǎng)址
$url = $long; //這里自己看著辦,修改成你要縮短的網(wǎng)址還是獲取post的數(shù)據(jù)還是怎么滴。
$url = filterUrl($url);
$short = sinaShortenUrl($url);
$ulong = sinaExpandUrl($short);
?>
//Sina App_Key
define('SINA_APPKEY', '31641035');
function curlQuery($url) {
//設(shè)置附加HTTP頭
$addHead = array(
"Content-type: application/json"
);
//初始化curl,當(dāng)然,你也可以用fsockopen代替
$curl_obj = curl_init();
//設(shè)置網(wǎng)址
curl_setopt($curl_obj, CURLOPT_URL, $url);
//附加Head內(nèi)容
curl_setopt($curl_obj, CURLOPT_HTTPHEADER, $addHead);
//是否輸出返回頭信息
curl_setopt($curl_obj, CURLOPT_HEADER, 0);
//將curl_exec的結(jié)果返回
curl_setopt($curl_obj, CURLOPT_RETURNTRANSFER, 1);
//設(shè)置超時(shí)時(shí)間
curl_setopt($curl_obj, CURLOPT_TIMEOUT, 15);
//執(zhí)行
$result = curl_exec($curl_obj);
//關(guān)閉curl回話
curl_close($curl_obj);
return $result;
}
//簡單處理下url,sina對于沒有協(xié)議(http://)開頭的和不規(guī)范的地址會(huì)返回錯(cuò)誤
function filterUrl($url = '') {
$url = trim(strtolower($url));
$url = trim(preg_replace('/^http:///', '', $url));
if ($url == '')
return false;
else
return urlencode('http://' . $url);
}
//根據(jù)長網(wǎng)址獲取短網(wǎng)址
function sinaShortenUrl($long_url) {
//拼接請求地址,此地址你可以在官方的文檔中查看到
$url = 'http://api.t.sina.com.cn/short_url/shorten.json?source=' . SINA_APPKEY . '&url_long=' . $long_url;
//獲取請求結(jié)果
$result = curlQuery($url);
//下面這行注釋用于調(diào)試,你可以把注釋去掉看看從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;
}
//根據(jù)短網(wǎng)址獲取長網(wǎng)址,此函數(shù)重用了不少sinaShortenUrl中的代碼,以方便你閱讀對比,你可以自行合并兩個(gè)函數(shù)
function sinaExpandUrl($short_url) {
//拼接請求地址,此地址你可以在官方的文檔中查看到
$url = 'http://api.t.sina.com.cn/short_url/expand.json?source=' . SINA_APPKEY . '&url_short=' . $short_url;
//獲取請求結(jié)果
$result = curlQuery($url);
//下面這行注釋用于調(diào)試,你可以把注釋去掉看看從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;
}
//要縮短的網(wǎng)址
$url = $long; //這里自己看著辦,修改成你要縮短的網(wǎng)址還是獲取post的數(shù)據(jù)還是怎么滴。
$url = filterUrl($url);
$short = sinaShortenUrl($url);
$ulong = sinaExpandUrl($short);
?>
本文中短連接已經(jīng)附帶的一個(gè)appkey不用再自己申請KEY當(dāng)然你如果需要使用你自己的您也可以自己去替換。至于用法就看你了,鑲?cè)氲狡渌绦蚴褂?,單?dú)做個(gè)生成短連接的頁面都可以。使用方法就不多說了。
希望本文所述對大家的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- 一個(gè)php短網(wǎng)址的生成代碼(仿微博短網(wǎng)址)
- PHP生成短網(wǎng)址的3種方法代碼實(shí)例
- php簡單實(shí)現(xiàn)短網(wǎng)址(短鏈)還原的方法(測試可用)
- PHP生成短網(wǎng)址方法匯總
- PHP將URL轉(zhuǎn)換成短網(wǎng)址的算法分享
- PHP長網(wǎng)址與短網(wǎng)址的實(shí)現(xiàn)方法
- php生成短網(wǎng)址示例
- PHP通過調(diào)用新浪API生成t.cn格式短網(wǎng)址鏈接的方法詳解
- PHP生成短網(wǎng)址的思路以及實(shí)現(xiàn)方法的詳解
- PHP利用DWZ.CN服務(wù)生成短網(wǎng)址
- php 短鏈接算法收集與分析
- php生成短網(wǎng)址/短鏈接原理和用法實(shí)例分析
相關(guān)文章
php導(dǎo)出excel格式數(shù)據(jù)問題
本篇文章主要是對php導(dǎo)出excel格式數(shù)據(jù)的問題進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-03-03php文件操作小結(jié)(刪除指定文件/獲取文件夾下的文件名/讀取文件夾下圖片名)
這篇文章主要介紹了php文件操作方法,包括刪除指定文件、獲取文件夾下的文件名及讀取文件夾下圖片名,涉及php針對文件與目錄的常用操作技巧,需要的朋友可以參考下2016-05-05ThinkPHP5.0之底層運(yùn)行原理執(zhí)行流程分析
run()方法可以在/thinkphp/library/think/App.php文件中找到對應(yīng)方法,這個(gè)方法是整個(gè)框架的核心方法,實(shí)現(xiàn)了路由轉(zhuǎn)換、獲取調(diào)度信息、根據(jù)調(diào)度信息執(zhí)行相應(yīng)模塊控制器的方法、獲取方法返回?cái)?shù)據(jù)、將返回?cái)?shù)據(jù)賦值給Response對象等一系列操作。2023-05-05