发起 HTTP 请求,是再平常不过的需求了。一般的就是使用 file_get_contents 或者 cURL。
但是在 WordPress 中,使用 file_get_contents 或者 cURL 开发的主题或插件,都会被 WordPress 官方拒绝。因为,WordPress 官方已经提供了封装好的 HTTP 请求函数。之前也曾简单介绍过:WordPress 使用 wp_remote_get 和 wp_remote_post 替代 curl。
wp_remote_get 发起 GET 请求
使用举例:
- $response = wp_remote_get( 'https://数据网址' );
- if ( is_array( $response ) && ! is_wp_error( $response ) && $response['response']['code'] == '200' ) {
- $headers = $response['headers']; // array of http header lines
- $body = $response['body']; // use the content
- }
在获取到 $body 后,要根据实际情况,对其进行解析。
wp_remote_post 发起 POST 请求
- 'headers' (string[]) 响应头信息。
- 'body' (string) 响应体。
- 'response' (array) HTTP 相关的相应数据。
- 'code' (int|false) HTTP CODE。
- 'message' (string|false) HTTP 相应消息。
- 'cookies' (WP_HTTP_Cookie[]) cookies 信息。
- 'http_response' (WP_HTTP_Requests_Response|null) 原始的 HTTP 相应。
使用举例:
- $response = wp_remote_post( $url, array(
- 'method' => 'POST',
- 'timeout' => 45,
- 'redirection' => 5,
- 'httpversion' => '1.0',
- 'blocking' => true,
- 'headers' => array(),
- 'body' => array(
- 'username' => 'bob',
- 'password' => '1234xyz'
- ),
- 'cookies' => array()
- )
- );
- if ( is_wp_error( $response ) ) {
- $error_message = $response->get_error_message();
- echo "Something went wrong: $error_message";
- } else {
- echo 'Response:<pre>';
- print_r( $response );
- echo '
';
}
文章標題:WordPress程序远程数据请求函数:wp_remote_post、wp_remote_get
文章連結:https://www.wuyanshuo.cn/1305.html
更新時間:2022年9月12日
1、本站所有資源均不添加推廣檔案或浮水印,壓縮包內若有廣告檔案和浮水印請勿輕易相信。
2、本站資源均為兩層壓縮,第一層7z(尾碼若為wys,請自行修改為7z)有解壓密碼; 第二層zip或cbz,無解壓密碼,可直接使用漫畫類軟件程式查看; 詳情可參攷解壓教程。
3、本站大部分內容均收集於網絡! 若內容侵犯到您的權益,請發送郵件至:admin#wysacg.top我們將第一時間處理! 資源所需價格並非資源售賣價格,是收集、整理、編輯詳情以及本站運營的適當補貼,並且本站不提供任何免費技術支援。 所有資源僅限於參攷和學習,版權歸原作者所有!