麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網(wǎng)站 > 建站經(jīng)驗 > 正文

使用WP_Http在WordPress發(fā)起HTTP Request

2024-04-25 20:30:42
字體:
供稿:網(wǎng)友

 在PHP中發(fā)起HTTP請求并不是很難,有很多種方法:使用fopen() 函數(shù),使用cURL 擴展,使用文件操作函數(shù)如fsockopen() 和fwrite()等,但是問題是各種方法所依賴的服務器的配置把不同,有些服務器可能無法支持,不過WordPress自身開發(fā)了新的API WP_Http使得WordPress在所有環(huán)境下都非常容易發(fā)起HTTP Request。

  PHP類:WP_Http

  WordPress 2.7開始引入了一個新的PHP Class:WP_Http(在wp-includes目錄http.php文件中)。這個Class的強大之處是它會檢測服務器的情況,選擇最好的方法去實現(xiàn)HTTP請求,所以我們自己無須去檢測HTTP擴展,fopen(),是否存在curl_init()函數(shù),這個Class都會包辦這些檢測。

  這個Class的基本使用方法如下:

$request = new WP_Http;$result = $request->request( 'http://blog.wpjam.com/' );

  返回的變量$result是一個數(shù)組,它包含以下東西:

  • ‘headers’: 返回的 headers 數(shù)組,如 “x-powered-by” => “PHP/5.2.1″
  • ‘body’: 返回字符串,和你使用瀏覽器看到一樣的。
  • ‘response’: 返回代碼的數(shù)組,如果獲取了這個代碼 (‘code’=>200, ‘message’=>’OK’),說明你的 HTTP Request 成功了。
  • ‘cookies’: 返回 cookie 信息數(shù)組。

  下面是具體的例子:

  簡單的GET請求

  假設你想在一些RESTFul的API搜索所有含有你ID的信息:

$url = 'http://your.api.url/?q=@denishua';$request = new WP_Http;$result = $request->request( $url );$json = $result['body'];

  接下來就是 JSON 解碼的事情了。

  基本的POST請求

  如過你需要傳遞一些參數(shù),如nick=’denishua’ 和mood=’happy’,可以使用POST方法:

$body = array(   'nick' => 'denishua',   'mood' => 'happy');$url = 'http://your.api.url/';$request = new WP_Http;$result = $request->request( $url, array( 'method' => 'POST', 'body' => $body) );// test $result['response'] and if OK do something with $result['body']

  需要驗證的POST請求

  假如你想在一些RESTFul的API提交一些信息,你首先需要進行驗證,我們需要發(fā)送一個含有用戶名和密碼對的base64編碼的字符串給API,詳細如下:

// You would edit the following:$username = 'denishua'; // login$password = '123456'; // password$message = "I'm posting with the API";// Now, the HTTP request:$api_url = 'http://your.api.url/update.xml';$body = array( 'status' => $message );$headers = array( 'Authorization' => 'Basic '.base64_encode("$username:$password") );$request = new WP_Http;$result = $request->request( $api_url , array( 'method' => 'POST', 'body' => $body, 'headers' => $headers ) );

  翻譯自 How To Make HTTP Requests with WordPress

  WordPress加入WP_Http類之后,就放棄了Snoopy這個PHP Class,所以建議大家給WordPress寫插件的時候,盡量使用WP_Http來做HTTP請求。

  WordPress已經(jīng)可以認為是PHP框架了,它含有各種類和方法,并且接口和方法使用非常簡單,并且文檔化,所以使用WordPress作為PHP框架進行開發(fā),或者抽取WordPress中的一些類進行開發(fā)會起到事半功倍的效果。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 免费毛片随便看 | av电影观看 | 99热草 | 亚洲精品日韩色噜噜久久五月 | 中文字幕在线观看网址 | 欧美1区2区 | 欧美性受ⅹ╳╳╳黑人a性爽 | 久久国产夫妻视频 | 久久国产精品91 | 亚洲午夜免费电影 | 18欧美性xxxx极品hd | 5xsq在线视频| 美女在线视频一区二区 | av免费大全 | 精品国产一区二区亚洲人成毛片 | 成码无人av片在线观看网站 | 久久久久久久久久久国产精品 | 91成人免费 | av观看网站| 国产亚洲欧美日韩高清 | 成人辣文 | av手机免费在线观看 | teensexhd| 97青青| 欧美日韩免费看 | 日韩字幕在线观看 | 91精品国产综合久久男男 | 一级在线观看视频 | 性大片性大片免费 | 精品人伦一区二区三区蜜桃网站 | 国产亚洲高清视频 | 亚洲精品动漫在线观看 | 欧美a视频 | 国产亚洲精品综合一区91 | 日韩美香港a一级毛片 | 国产男女爽爽爽爽爽免费视频 | 精品三级内地国产在线观看 | 黄色一级视频 | a黄网站 | 九九热精| 欧美成人精品一区二区三区 |