wp_get_http()
Устарела с версии 4.4.0. Больше не поддерживается и может быть удалена. Используйте WP_Http.
Perform a HTTP HEAD or GET request.
If $file_path is a writable filename, this will do a GET request and write the file to that path.
Хуков нет.
Возвращает
\WpOrg\Requests\Utility\CaseInsensitiveDictionary|false. Headers on success, false on failure.
Использование
wp_get_http( $url, $file_path, $red );
- $url(строка) (обязательный)
- URL to fetch.
- $file_path(строка|true|false)
- File path to write request to.
По умолчанию:false - $red(int)
- The number of Redirects followed, Upon 5 being hit, returns false.
По умолчанию:1
Заметки
- Смотрите: WP_Http
Список изменений
| С версии 2.5.0 | Введена. |
| Устарела с 4.4.0 | Use WP_Http |
Код wp_get_http() wp get http WP 6.9.4
function wp_get_http( $url, $file_path = false, $red = 1 ) {
_deprecated_function( __FUNCTION__, '4.4.0', 'WP_Http' );
// Add 60 seconds to the script timeout to ensure the remote request has enough time.
if ( function_exists( 'set_time_limit' ) ) {
@set_time_limit( 60 );
}
if ( $red > 5 )
return false;
$options = array();
$options['redirection'] = 5;
if ( false == $file_path )
$options['method'] = 'HEAD';
else
$options['method'] = 'GET';
$response = wp_safe_remote_request( $url, $options );
if ( is_wp_error( $response ) )
return false;
$headers = wp_remote_retrieve_headers( $response );
$headers['response'] = wp_remote_retrieve_response_code( $response );
// WP_HTTP no longer follows redirects for HEAD requests.
if ( 'HEAD' == $options['method'] && in_array($headers['response'], array(301, 302)) && isset( $headers['location'] ) ) {
return wp_get_http( $headers['location'], $file_path, ++$red );
}
if ( false == $file_path )
return $headers;
// GET request - write it to the supplied filename.
$out_fp = fopen($file_path, 'w');
if ( !$out_fp )
return $headers;
fwrite( $out_fp, wp_remote_retrieve_body( $response ) );
fclose($out_fp);
clearstatcache();
return $headers;
}