向任意 URL 发出 HTTP 请求时,此函数非常理想。 URL 经过验证以避免重定向和请求伪造攻击。
函数参数
参数 | 数据类型 | 是否必需 | 描述 | 默认值 |
---|---|---|---|---|
$url | 字符串 | 是 | 请求 URL | 无 |
$args | 数组 | 否 | 请求参数 | array() |
函数返回值
响应数组,如果出错,返回 WP_Error 对象
使用示例
发送的Post数据应该在 body 中提供,body 不一定是数组,也可以是 XML 或 JSON 格式的字符串或其他可以通过 HTTP 协议发送的数据。
$response = wp_safe_remote_post( $url, array(
'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 '</pre>';
}
相关函数
wp_remote_post: 发送 HTTP POST 请求并获取返回数据
wp_remote_get: 用 GET 方法从 URL 中获取数据