在 PHP 中发送 Http 申请(GET / POST)有很多的办法,比方 file_get_contents() 函数、fopen() 函数或许 cURL 扩大,但因为效劳器的状况不同,所以不肯定会兼容一切状况,这样想要发送 Http 申请则需求通过一系列的判别,十分费事。
不过 WordPress 提供了一个 WP_Http 的类来帮你做好兼容性的判别,你只要要调用里边的函数就能实现发送 Http 申请。上面我就简略的引见一下这个类的罕用函数。
发送 GET 申请
/** *应用 WP_Http 类发送简略的 GET 申请 *http://www.endskin.com/wp_http/ */ $http = new WP_Http; $result = $http->request( 'http://www.endskin.com' );
上边的代码就把申请指标的信息存储到 $result 变量里了,$result 是一个数组,它有一下的键:
也就是说指标的内容就是 $result['body']
发送 POST 申请
假如需求发送 POST 申请就得用到 WP_Http->request() 的第二个参数了,上面看例子:
/** *应用 WP_Http 类发送简略的 POST 申请 *http://www.endskin.com/wp_http/ */ $http = new WP_Http; $post = array( 'name' => '斌果', 'blog' => 'http://www.bgbk.org' ); $result = $http->request( 'http://www.endskin.com', array( 'method' => 'POST', 'body' => $post ) );
前往的$result 变量内容请参考上边的 GET 申请。
需求验证的 POST 申请
如果你想在一些 RESTFul 的 API 提交一些信息,你首先需求进行验证,咱们需求发送一个含有用户名和明码对的 base64 编码的字符串给 API,具体如下:
// You would edit the following: $username = 'denishua'; // login $password = '123456'; // password $message = "I'm posting with the API"; // Now, the HTTP request: $api_url = 'http://your.api.url/update.xml'; $body = array( 'status' => $message ); $headers = array( 'Authorization' => 'Basic '.base64_encode("$username:$password") ); $request = new WP_Http; $result = $request->request( $api_url , array( 'method' => 'POST', 'body' => $body, 'headers' => $headers ) );
WordPress 退出 WP_Http 类之后,就保持了 Snoopy 这个 PHP Class,所以倡议大家给 WordPress 写插件的时分,尽量应用 WP_Http 来做 HTTP 申请。
以上就是安达网络工作室关于《在WordPress中实现发送http请求的相关函数解析》的一些看法。更多内容请查看本栏目更多内容!
自己2012年12月20日左右接触wordpress,至今曾经两个月。由于以前丝毫没有网站治理经历及编程才能,因而...
链接方式http://localhost/?go=http://www.baidu.com这种方式转跳的办法。 复制代码代码如下:add_action('w...
次要出于两个目的,第一搜集比便大家和当前学习回顾;第二,从根底做一些适用的,添加搜寻量,进步博客流量...
比方本人创立了一个主题,那么需求在后盾增加一些设置选项,所以就触及到了后盾增加顶级菜单的需要: 复制代...
1. Wordpress的明码在存入数据库是以md5码的方式寄存 依据此原理能够手动update数据库,从新设置自定的明码 ...
判别置顶文章 is_sticky() 函数用来判别一篇文章能否为置顶文章。 用法 is_sticky( $post_id ); 参数 $p...