致力于打造一个优秀的建站资源共享学习平台!

爱站窝四川

WordPress 发送 Http 请求的详细用法

爱站窝查看全部>>

人气351

我在之前的中介绍了 WordPress 提供用于发送 Http 请求的 WP_Http 类,但在实际使用过程中一般不需要直接调用类,而是使用 WordPress 帮我们封装好的函数,可以让变的更加简洁。

发送 GET 请求

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

$response = wp_remote_get( 'http://www.endskin.com' );

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

$response = wp_remote_get( add_query_arg( 'wd', '搜索关键词', 'http://www.baidu.com/s' ) );  //添加多个参数 $response = wp_remote_get( add_query_arg( array(  'wd' => '搜索关键词',  'ie' => 'utf-8' ), 'http://www.baidu.com/s' ) );

发送 POST 请求

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

//查询参数 $args = array(  'name' => '斌果',  'blog_url' => 'http://www.bgbk.org' );  //发送请求 $response = wp_remote_post( 'http://www.endskin.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' => '斌果',  'blog_url' => 'http://www.bgbk.org' );  //发送请求 $response = wp_remote_post( 'http://www.endskin.com/adfad', 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' );
TA的作品
  • Mohtml 作品/设计展示自适应wordpress主题 模板兔出品
  • QYKCMS后台软件v4.1.3部分操作界面截图
  • 轻松制作一款与众不同的QYKCMS网站主题
  • 怎样设置可以让QYKCMS系统运行得更快?
  • 使用 Apache .htaccess 文件设置QYKCMS伪静态规则的方法
  • QYKCMS后台管理软件入门级操作视频教程
  • IIS下使用 web.config 文件设置QYKCMS伪静态规则的方法
  • 同一个网站空间使用QYKCMS建立多个独立站点
  • QYKCMS后台管理员密码忘记了怎么办
  • QYKCMS 网站系统4.0 标签大全
查看全部

全部评论: 0

在线咨询
有什么可以帮到你
点击咨询

账号登录

忘记密码

第三方账号快速登录

Q Q 登 录 微 博 登 录

账号注册 已经有账号? 立即登录

发送验证码

第三方账号快速注册

Q Q 登 录 微 博 登 录