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

首頁 > 開發 > PHP > 正文

php實現新浪短鏈接調用API代碼

2024-05-04 21:48:22
字體:
來源:轉載
供稿:網友

前面寫過了一篇文章是圖片反盜鏈的,我自己弄得單獨的頁面就采用了sina的短連接,對于短連接來說還是方便的,地址太長占地方,下面分享源碼,有注釋,非原創,代碼如下:

  1. <?php 
  2. //Sina App_Key 
  3. define('SINA_APPKEY''31641035'); 
  4.  
  5. function curlQuery($url) { 
  6.  //設置附加HTTP頭 
  7.  $addHead = array
  8.  "Content-type: application/json" 
  9.  ); 
  10.  
  11.  //初始化curl,當然,你也可以用fsockopen代替 
  12.  $curl_obj = curl_init(); 
  13.  
  14.  //設置網址 
  15.  curl_setopt($curl_obj, CURLOPT_URL, $url); 
  16.  
  17.  //附加Head內容 
  18.  curl_setopt($curl_obj, CURLOPT_HTTPHEADER, $addHead); 
  19.  
  20.  //是否輸出返回頭信息 
  21.  curl_setopt($curl_obj, CURLOPT_HEADER, 0); 
  22.  
  23.  //將curl_exec的結果返回 
  24.  curl_setopt($curl_obj, CURLOPT_RETURNTRANSFER, 1); 
  25.  
  26.  //設置超時時間 
  27.  curl_setopt($curl_obj, CURLOPT_TIMEOUT, 15); 
  28.  
  29.  //執行 
  30.  $result = curl_exec($curl_obj); 
  31.  
  32.  //關閉curl回話 
  33.  curl_close($curl_obj); 
  34.  
  35.  return $result
  36.  
  37. //簡單處理下url,sina對于沒有協議(http://)開頭的和不規范的地址會返回錯誤 
  38. function filterUrl($url = '') { 
  39.  $url = trim(strtolower($url)); 
  40.  $url = trim(preg_replace('/^http:///'''$url)); 
  41.  if ($url == ''
  42.  return false; 
  43.  else 
  44.  return urlencode('http://' . $url); 
  45.  
  46. //根據長網址獲取短網址 
  47. function sinaShortenUrl($long_url) { 
  48.  //拼接請求地址,此地址你可以在官方的文檔中查看到 
  49.  $url = 'http://api.t.sina.com.cn/short_url/shorten.json?source=' . SINA_APPKEY . '&url_long=' . $long_url
  50.  
  51.  //獲取請求結果 
  52.  $result = curlQuery($url); 
  53.  
  54.  //下面這行注釋用于調試,你可以把注釋去掉看看從sina返回的信息是什么東西 
  55.  //print_r($result);exit(); 
  56.  
  57.  //解析json 
  58.  $json = json_decode($result); 
  59.  
  60.  //異常情況返回false 
  61.  if (isset($json->error) || !isset($json[0]->url_short) || $json[0]->url_short == ''
  62.  return false; 
  63.  else 
  64.  return $json[0]->url_short; 
  65.  
  66. //根據短網址獲取長網址,此函數重用了不少sinaShortenUrl中的代碼,以方便你閱讀對比,你可以自行合并兩個函數 
  67. function sinaExpandUrl($short_url) { 
  68.  //拼接請求地址,此地址你可以在官方的文檔中查看到 
  69.  $url = 'http://api.t.sina.com.cn/short_url/expand.json?source=' . SINA_APPKEY . '&url_short=' . $short_url
  70.  
  71.  //獲取請求結果 
  72.  $result = curlQuery($url); 
  73.  
  74.  //下面這行注釋用于調試,你可以把注釋去掉看看從sina返回的信息是什么東西 
  75.  //print_r($result);exit(); 
  76.  
  77.  //解析json 
  78.  $json = json_decode($result); 
  79.  
  80.  //異常情況返回false 
  81.  if (isset($json->error) || !isset($json[0]->url_long) || $json[0]->url_long == ''
  82.  return false; 
  83.  else 
  84.  return $json[0]->url_long; 
  85. }//開源代碼Vevb.com 
  86.  
  87. //要縮短的網址 
  88. $url = $long//這里自己看著辦,修改成你要縮短的網址還是獲取post的數據還是怎么滴。 
  89.  
  90. $url = filterUrl($url); 
  91. $short = sinaShortenUrl($url); 
  92. $ulong = sinaExpandUrl($short); 
  93. ?> 

本文中短連接已經附帶的一個appkey不用再自己申請KEY當然你如果需要使用你自己的您也可以自己去替換,至于用法就看你了,鑲入到其他程序使用啊?單獨做個生成短連接的頁面都不管我的事啊,使用方法不多說,最近比較懶.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保靖县| 蒲城县| 杭州市| 武功县| 伊宁县| 铜梁县| 电白县| 革吉县| 宁安市| 易门县| 保德县| 绍兴县| 盘山县| 连平县| 鄂州市| 平陆县| 土默特右旗| 游戏| 凤庆县| 怀化市| 阜新| 翁牛特旗| 莎车县| 永城市| 柞水县| 吉木萨尔县| 盐城市| 曲松县| 乌鲁木齐县| 特克斯县| 调兵山市| 韶山市| 禹州市| 邵武市| 南靖县| 平南县| 波密县| 城固县| 开远市| 余江县| 博客|