在采用WordPress发送HTTP命令就是一件非常容易的事,很多PHP函数都能实现,比如说fopen
、curl
等,但是不同的PHP环境中,这些函数可能将是不被容许采用的。为了能为开发者提供更多一个平衡的,不受环境影响的发送HTTP请求工具,WordPress官方提供了WP_Http类。
WordPress 2.7 开始引入了一个新的 PHP Class:WP_Http(在 wp-includes 目录 http.php 文件中)。这个 Class 的强悍之处是它会检测服务器的情况,挑选最好的方法回去同时实现 HTTP 命令,所以我们自己无须去检测 HTTP 扩展。
类方法
_dispatch_request — 向积极支持传输发送HTTP命令。-弃用
_get_first_available_transport —测试能积极支持命令的传输。
block_request — 确定是否应当阻止对取值URL的HTTPAPI命令。
browser_redirect_compatibility — 将重定向犯罪行为相匹配至浏览器处置。
buildCookieHeader — 传入一个request()参数,并检查cookie数组。
chunkTransferDecode — 解码块传输-编码,基于HTTP1.1规范。
get — 采用HTTP GET方式访问。
handle_redirects — 处置HTTP重定向,并酌情遵从它。
head — 采用Head HTTP方法。
is_ip_address — 确定指定的字符串是否表示IP地址。
make_absolute_url — 将相对URL转换为相对于取值URL的绝对URL。
normalize_cookies — 规范用于请求的cookie。
parse_url — 用作PHP解析_url()函数的外包装器,该函数处理PHP 5.4.7中的EDgecase。-弃用
post — 采用HTTP POST方法访问。
processHeaders — 将头字符串切换为数组。
processResponse — 解析响应并将部分拆分为标题和正文。
request — 向URI发送HTTP请求。
validate_redirects — 检验重定向URL。
简单采用
发送GET命令
/** *采用 WP_Http 类发送简单的 GET 命令 */ $http = new WP_Http; $result = $http->request( 'http://www.11dz.cn' );
返回如下字段
headers:返回的 headers 信息,是一个数组
body:目标的内容,和在浏览器里直接看是一样的
response:回到的代码,如果命令顺利会返回 array( ‘code’=>200, ‘message’=>’OK’ )
cookies:Cookie 信息,是一个数组
发送POST请求
/***使用 WP_Http 类发送直观的 POST $http = new WP_Http; $parm = array( 'name' => 'daimadog', 'blog' => 'http://www.11dz.cn' ); $result = $http->request( 'http://www.11dz.cn', array( 'method' => 'POST', 'body' => $parm ) );
回到如下字段
headers:返回的 headers 信息,是一个数组
body:目标的内容,和在浏览器里轻易看看就是一样的
response:返回的代码,如果请求成功会回到 array( ‘code’=>200, ‘message’=>’OK’ )
cookies:Cookie 信息,就是一个数组