成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何實現PHP長網址與短網址

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

[[206140]]

什么是長鏈接、短鏈接

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

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

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

安全性,長鏈接可能會攜帶一些參數,例如http://xxx.xxx.xxx?id=1¶m1=san,我們能夠輕松的看出,該url采用的是

get的方式,同時也能看出請求了哪些參數。然而短鏈接http://t.cn/RNGQRUJ,我們只能訪問不能輕易的查看處攜帶了

哪些參數等條件。

使用場景

微博內容的分享

短信包含的鏈接

微信分享鏈接

實現方法

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

代碼實現

創建一個curl工具函數

  1. // SINA_APPKEY就是你在微信開發者平臺的appkey 
  2. define('SINA_APPKEY'''); 
  3. function curlQuery($url) 
  4.     //設置附加HTTP頭 
  5.     $addHead = array( 
  6.         "Content-type: application/json"
  7.     ); 
  8.     //初始化curl,當然,你也可以用fsockopen代替 
  9.     $curl_obj = curl_init(); 
  10.     //設置網址 
  11.     curl_setopt($curl_obj, CURLOPT_URL, $url); 
  12.     //附加Head內容 
  13.     curl_setopt($curl_obj, CURLOPT_HTTPHEADER, $addHead); 
  14.     //是否輸出返回頭信息 
  15.     curl_setopt($curl_obj, CURLOPT_HEADER, 0); 
  16.     //將curl_exec的結果返回 
  17.     curl_setopt($curl_obj, CURLOPT_RETURNTRANSFER, 1); 
  18.     //設置超時時間 
  19.     curl_setopt($curl_obj, CURLOPT_TIMEOUT, 15); 
  20.     //執行 
  21.     $result = curl_exec($curl_obj); 
  22.     //關閉curl回話 
  23.     curl_close($curl_obj); 
  24.     return $result; 

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

  1. //根據長網址獲取短網址 
  2. function sinaShortenUrl($long_url) 
  3.     //拼接請求地址,此地址你可以在官方的文檔中查看到 
  4.     $url = 'http://api.t.sina.com.cn/short_url/shorten.json?source=' . SINA_APPKEY . '&url_long=' . $long_url; 
  5.     //獲取請求結果 
  6.     $result = curlQuery($url); 
  7.     //下面這行注釋用于調試, 
  8.     //print_r($result);exit(); 
  9.     //解析json 
  10.     $json = json_decode($result); 
  11.     //異常情況返回false 
  12.     if (isset($json->error) || !isset($json[0]->url_short) || $json[0]->url_short == '') { 
  13.         return false
  14.     } else { 
  15.         return $json[0]->url_short; 
  16.     } 
  17.  
  18. //根據短網址獲取長網址,此函數重用了不少sinaShortenUrl中的代碼,以方便你閱讀對比,你可以自行合并兩個函數 
  19. function sinaExpandUrl($short_url) 
  20.     //拼接請求地址,此地址你可以在官方的文檔中查看到 
  21.     $url = 'http://api.t.sina.com.cn/short_url/expand.json?source=' . SINA_APPKEY . '&url_short=' . $short_url; 
  22.     //獲取請求結果 
  23.     $result = curlQuery($url); 
  24.     //下面這行注釋用于調試 
  25.     //print_r($result);exit(); 
  26.     //解析json 
  27.     $json = json_decode($result); 
  28.     //異常情況返回false 
  29.     if (isset($json->error) || !isset($json[0]->url_long) || $json[0]->url_long == '') { 
  30.         return false
  31.     } else { 
  32.         return $json[0]->url_long; 
  33.     } 
  34.  

創建一個url處理函數

  1. //簡單處理下url,sina對于沒有協議(http://)開頭的和不規范的地址會返回錯誤 
  2. function filterUrl($url = ''
  3.     $url = trim(strtolower($url)); 
  4.     $url = trim(preg_replace('/^http:\//''', $url)); 
  5.     if ($url == '') { 
  6.         return false
  7.     } else { 
  8.         return urlencode('http://' . $url); 
  9.     } 
  10.  

調用函數

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

示例代碼下載地址:http://pan.baidu.com/s/1jI9oLxG

【本文為51CTO專欄作者“太平洋警察”的原創稿件,轉載請通過作者獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2022-02-25 14:11:48

短網址Java算法

2017-11-22 10:53:22

2018-10-15 12:42:21

2022-09-13 17:45:40

長網址短鏈系統

2015-06-24 10:10:38

C#短鏈接生成

2013-12-20 17:07:45

搜狗網址導航搜狗

2009-10-22 23:49:51

漏洞惡意

2011-05-18 13:28:46

jQueryPHPAJAX

2013-09-09 16:11:10

2014-01-03 17:06:46

搜狗網址導航

2014-07-08 09:45:39

域名“.網址”

2018-04-02 08:28:33

Google網絡服務

2009-12-07 18:42:55

PHP與Javascr

2009-10-15 09:30:17

互聯網創始人

2017-05-17 12:33:16

程序員系統二進制

2011-09-08 17:31:29

Steply社交圖片

2013-04-10 18:12:57

2017-08-21 21:00:33

Java長圖文

2020-09-01 11:40:01

HTTPJavaTCP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美三级电影在线播放 | 精品在线一区二区三区 | 日本高清视频在线播放 | 在线观看国产 | 91麻豆蜜桃一区二区三区 | 黄色在线免费观看 | 国产激情视频在线免费观看 | 亚洲一区二区欧美 | 欧美一区2区三区4区公司二百 | 国产成人精品一区二区 | 成人午夜在线 | 午夜免费成人 | 久久久久国产 | 亚洲午夜精品久久久久久app | 国产精品一区在线 | 久久伊 | 成人免费视频观看 | 亚洲一区精品视频 | 国产精品a免费一区久久电影 | 欧美成人h版在线观看 | 欧美激情久久久 | 国产高清自拍视频在线观看 | 久久久精品视 | 日日日操 | 一区二区精品 | 国产成人艳妇aa视频在线 | 国产精品久久久一区二区三区 | 成人a在线 | 欧美一级免费看 | 91精品国产91久久久久久不卞 | 欧美精品一区二区三区在线 | 精品不卡 | 亚洲精品国产a久久久久久 午夜影院网站 | 国产一区二区视频免费在线观看 | 国产精品久久久久久久久久 | 亚洲精品久久久久久久久久久久久 | 黄色大片免费网站 | av在线天堂 | 国产一级视频 | 国产免费看 | 欧美精品成人 |