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

首頁 > CMS > Wordpress > 正文

在WordPress中實現發送http請求的相關函數解析

2024-09-07 00:48:06
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了在WordPress中實現發送http請求的相關函數解析,包括使用WP_Http類中的函數來發送post或get請求的方法,需要的朋友可以參考下

在 PHP 中發送 Http 請求(GET / POST)有很多的方法,比如 file_get_contents() 函數、fopen() 函數或者 cURL 擴展,但由于服務器的情況不同,所以不一定會兼容所有情況,這樣想要發送 Http 請求則需要經過一系列的判斷,非常麻煩。

不過 WordPress 提供了一個 WP_Http 的類來幫你做好兼容性的判斷,你只需要調用里邊的函數就能完成發送 Http 請求。下面我就簡單的介紹一下這個類的常用函數。

發送 GET 請求

  1. /** 
  2.  *使用 WP_Http 類發送簡單的 GET 請求 
  3.  *http://www.survivalescaperooms.com/wp_http/ 
  4. */ 
  5. $http = new WP_Http; 
  6. $result = $http->request( 'http://www.survivalescaperooms.com' ); 

上邊的代碼就把請求目標的信息存儲到 $result 變量里了,$result 是一個數組,它有一下的鍵:

headers:返回的 headers 信息,是一個數組

body:目標的內容,和在瀏覽器里直接看是一樣的

response:返回的代碼,如果請求成功會返回 array( 'code'=>200, 'message'=>'OK' )

cookies:Cookie 信息,是一個數組

也就是說目標的內容就是 $result['body']

發送 POST 請求

如果需要發送 POST 請求就得用到 WP_Http->request() 的第二個參數了,下面看例子:

  1. /** 
  2.  *使用 WP_Http 類發送簡單的 POST 請求 
  3.  *http://www.survivalescaperooms.com/wp_http/ 
  4. */ 
  5. $http = new WP_Http; 
  6. $post = array'name' => '斌果''blog' => 'http://www.bgbk.org' ); 
  7. $result = $http->request( 'http://www.survivalescaperooms.com'array'method' => 'POST''body' => $post ) ); 

返回的$result 變量內容請參考上邊的 GET 請求。

需要驗證的 POST 請求

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 锦屏县| 道孚县| 苏尼特左旗| 鸡东县| 汝阳县| 淳化县| 呼和浩特市| 怀安县| 盐城市| 正阳县| 定安县| 永丰县| 平潭县| 徐州市| 枣阳市| 肇庆市| 高阳县| 广丰县| 双柏县| 阿克苏市| 怀化市| 普洱| 鄂温| 密云县| 右玉县| 邢台县| 宜君县| 庆云县| 内丘县| 措美县| 九龙坡区| 方城县| 绥江县| 汉源县| 诸暨市| 松滋市| 德惠市| 榕江县| 崇义县| 喀什市| 灵寿县|