Deprecated Deprecated

This method has been deprecated. Use WP_Http::request() instead.

Private Access Private Access

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness. Use WP_Http::request() instead.

Summery Summery

Dispatches a HTTP request to a supporting transport.

Syntax Syntax

WP_Http::_dispatch_request( string $url, array $args )

Description Description

Tests each transport in order to find a transport which matches the request arguments. Also caches the transport instance to be used later.

The order for requests is cURL, and then PHP Streams.

Parameters Parameters


(Required) URL to Request.


(Required) Request arguments.

Return Return

(array|WP_Error) Array containing 'headers', 'body', 'response', 'cookies', 'filename'. A WP_Error instance upon error.

Source Source

File: wp-includes/class-http.php

		$class = $this->_get_first_available_transport( $args, $url );
		if ( ! $class ) {
			return new WP_Error( 'http_failure', __( 'There are no HTTP transports available which can complete the requested request.' ) );

		// Transport claims to support request, instantiate it and give it a whirl.
		if ( empty( $transports[ $class ] ) ) {
			$transports[ $class ] = new $class;

		$response = $transports[ $class ]->request( $url, $args );

		/** This action is documented in wp-includes/class-http.php */
		do_action( 'http_api_debug', $response, 'response', $class, $args, $url );

		if ( is_wp_error( $response ) ) {
			return $response;

		/** This filter is documented in wp-includes/class-http.php */
		return apply_filters( 'http_response', $response, $args, $url );

	 * Uses the POST HTTP method.


Changelog Changelog

Version Description
5.1.0 Use WP_Http::request()
3.2.0 Introduced.

See also See also


Leave a Reply