国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP長網址與短網址的實現方法

2024-05-05 00:00:29
字體:
來源:轉載
供稿:網友

顧名思義,長鏈接就是一個很長的鏈接;短鏈接就是一個很短的鏈接。長鏈接可以生成短鏈接,短鏈接來源于長鏈接。

什么是長鏈接、短鏈接

顧名思義,長鏈接就是一個很長的鏈接;短鏈接就是一個很短的鏈接。長鏈接可以生成短鏈接,短鏈接來源于長鏈接。

為什么要使用長鏈接、短鏈接

更加美觀,我們可以對長鏈接和短鏈接進行對比,很顯然可以看出短鏈接相對成鏈接來說更加的短小,顯得更加的美觀。

安全性,長鏈接可能會攜帶一些參數,例如http://xxx.xxx.xxx?id=1¶m1=san,我們能夠輕松的看出,該url采用的是get的方式,同時也能看出請求了哪些參數。然而短鏈接http://t.cn/RNGQRUJ,我們只能訪問不能輕易的查看處攜帶了哪些參數等條件。

示例代碼下載地址:鏈接: https://pan.baidu.com/s/1kVh4FQ3 密碼: 4r8p

使用場景

微博內容的分享

短信包含的鏈接

微信分享鏈接

實現方法

按照百度百科的解釋,長鏈接轉換為短鏈接主要采用了md5加密的方式來實現轉換的。

代碼實現

創建一個curl工具函數

// SINA_APPKEY就是你在微信開發者平臺的appkey define('SINA_APPKEY', ''); 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; }

創建短鏈接和長鏈接的方法

//根據長網址獲取短網址 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);   //下面這行注釋用于調試,   //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);   //下面這行注釋用于調試   //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處理函數

//簡單處理下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);   } }

調用函數

//要縮短的網址 $url = "http://www.qqdeveloper.com/detail/25/1.html"; //這里自己看著辦,修改成你要縮短的網址還是獲取post的數據還是怎么滴。 $url = filterUrl($url); //對URL進行簡單處理的方法 echo $short = sinaShortenUrl($url); //根據傳入的長網址生產短網址 echo "</br>"; echo $ulong = sinaExpandUrl($short);

總結

以上所述是小編給大家介紹的PHP長網址與短網址的實現方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 永修县| 南江县| 砚山县| 杭州市| 大冶市| 常山县| 山阳县| 台北市| 浦北县| 阜新市| 扬中市| 綦江县| 拉萨市| 五峰| 内丘县| 文化| 阳原县| 稷山县| 福贡县| 盱眙县| 开原市| 砚山县| 威宁| 鹤峰县| 长治县| 上犹县| 六枝特区| 怀远县| 大新县| 英山县| 新田县| 咸宁市| 鸡泽县| 巴彦县| 肥乡县| 乐东| 民县| 德令哈市| 资兴市| 祥云县| 雷山县|