WordPress 发送Http请求的详细用法

2020年4月20日 飞飞 阅读(1.59K)
知识付费主题,优惠促销中:xx-blog主题

一、发送 GET 请求

发送普通的 GET 请求直接用 wp_remote_get() 函数,下边是一个简单的例子:

$response=wp_remote_get('https://www.xxzhuti.com');

如果要添加 GET 参数的话可以直接在请求的链接后边添加查询字符串,或者使用 add_query_arg() 函数生成:

$response=wp_remote_get(add_query_arg('wd', '搜索关键词', 'https://www.xxzhuti.com/s'));

//添加多个参数

$response=wp_remote_get(add_query_arg(array(
'wd'=>'搜索关键词',
'ie'=>'utf-8'
),'https://www.xxzhuti.com/s'));

二、发送POST请求

发送 POST 请求使用 wp_remote_post() 函数,例子:

//查询参数

$args=array(
'name'=>'xx主题',
'blog_url'=>'https://www.xxzhuti.com'
);

//发送请求
$response=wp_remote_post(‘https://www.xxzhuti.com’,array(‘body’=>$args));

解析请求结果
在上边的例子中,我都把请求的结果保存在了 $response 变量里,这个参数里包含所有请求的信息,那该如何从这个变量中找到我们要的信息呢?需要使用几个函数:

wp_remote_retrieve_response_code():获取请求的 Http 状态码,请求成功则返回 200
wp_remote_retrieve_body():获取请求的内容
wp_remote_retrieve_response_message():获取请求结果的信息
wp_remote_retrieve_header():获取请求结果的头信息
另外值得一提的是,如果请求发生异常,会返回一个 WP_Error,里边包含错误信息。

下边是一个完整的请求:

//查询参数
$args=array(
'name'=>'xx主题',
'blog_url'=>'https://www.xxzhuti.com'
);

//发送请求
$response=wp_remote_post('https://www.xxzhuti.com/xxzhuti',array('body'=>$args));

//判断请求是否成功
if(is_wp_error($response)||wp_remote_retrieve_response_code($response)!==200) die('请求错误');

//获取请求内容
$result=wp_remote_retrieve_body($response);

如果你想获取请求的 header 头信息,可以参考下边,下边的例子获取了 header 头中的服务器信息:
$server=wp_remote_retrieve_header($response,'server');

 


关注微信公众号『xx主题网

第一时间了解最新网络动态
关注博主不迷路~

未经允许不得转载:xx主题网 » WordPress 发送Http请求的详细用法
分享到:

评论抢沙发

要发表评论,您必须先

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

扫码关注微信公众号

扫描关注xx主题网