使用WP HTTP Request API检索URL标头和内容。

原型

_fetch_remote_file( string $url, array $headers = "" )

参数

$url (string) (Required) 要检索的URL

$headers (array) (Optional)  要发送到URL的标头。

返回值

(Snoopy)  风格反应

源文件

路径:wp-includes/rss.php

<?php
...
function _fetch_remote_file($url, $headers = "" ) {
	$resp = wp_safe_remote_request( $url, array( 'headers' => $headers, 'timeout' => MAGPIE_FETCH_TIME_OUT ) );
	if ( is_wp_error($resp) ) {
		$error = array_shift($resp->errors);
		$resp = new stdClass;
		$resp->status = 500;
		$resp->response_code = 500;
		$resp->error = $error[0] . "n"; //n = Snoopy compatibility
		return $resp;
	}
	// Snoopy returns headers unprocessed.
	// Also note, WP_HTTP lowercases all keys, Snoopy did not.
	$return_headers = array();
	foreach ( wp_remote_retrieve_headers( $resp ) as $key => $value ) {
		if ( !is_array($value) ) {
			$return_headers[] = "$key: $value";
		} else {
			foreach ( $value as $v )
				$return_headers[] = "$key: $v";
		}
	}
	$response = new stdClass;
	$response->status = wp_remote_retrieve_response_code( $resp );
	$response->response_code = wp_remote_retrieve_response_code( $resp );
	$response->headers = $return_headers;
	$response->results = wp_remote_retrieve_body( $resp );
	return $response;
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/_fetch_remote_file/