WordPress 抓取遠端資料方法 wp_remote_get, wp_remote_post

更新日期:2020-11-11

一般來說程式內抓取遠端文件或訊息,我們都是使用 file_get_contents 或是 cURL,不過在一次送審的外掛被打回時,裡面提到官方要求用他們內建的函數來使用,就是 wp_remote_get, wp_remote_post

wp_remote_get

方法:wp_remote_get( string $url, array $args = array() )

  • $url: 必要,要抓取的網址
  • $args: 可選,放參數
  • 返回值是陣列 (array|WP_Error)

用法:

$response = wp_remote_get( 'http://www.example.com',
  [
    'book'    => 'php',
    'headers' => [
        'Content-Type' => 'application/json',
        'Authorization' => 'Basic ' . base64_encode( $username . ':' . $password )
    ],
  ]
);

然後可以用以下這兩個函數取返回值:

wp_remote_retrieve_response_code( $response )  //HTTP狀態碼
wp_remote_retrieve_body( $response ) //回應的內容

wp_remote_post

方法:wp_remote_post( string $url, array $args = array() )

其他參數部分,就跟 wp_remote_get 一樣用法。

發佈留言