web-dev-qa-db-fra.com

Comment obtenir l'URL de l'objet WP_HTTP?

J'utilise wp_remote_post:

    $test = wp_remote_post($environment_url, $args2 );
    $test2 = $test['http_response'];

Donc, ce que je veux faire, c'est obtenir la valeur de l'URL, mais je crois que l'objet est protégé, donc il est difficile d'y accéder.

La réponse peut être ici

https://developer.wordpress.org/reference/classes/wp_http_requests_response/

Mais j'ai besoin d'aide pour le trouver.

Voici la sortie de $ test2:

WP_HTTP_Requests_Response Object
(
[response:protected] => Requests_Response Object
    (
        [body] => ...
        [raw] => HTTP/1.1 200 OK
                 Cache-Control: no-cache, no-store

        [headers] => Requests_Response_Headers Object
            (
                [data:protected] => Array
                    (
                        [cache-control] => Array
                            (
                                [0] => no-cache, no-store
                            )
                            ...
                    )

            )

        [status_code] => 200
        [protocol_version] => 1.1
        [success] => 1
        [redirects] => 1
        [url] => https://www.example.com
        [history] => Array
2
ravravrav

Je ne suis pas sûr de ce que vous recherchez, mais vous pouvez essayer d'obtenir l'objet de réponse HTTP à partir de la méthode WP_HTTP_Requests_Response::get_response_object().

Voici un exemple pour récupérer l'URL:

if( 
       ! is_wp_error( $test )
    && isset( $test['http_response'] ) 
    && $test['http_response'] instanceof \WP_HTTP_Requests_Response 
    && method_exists( $test['http_response'], 'get_response_object' )
)
    echo $test['http_response']->get_response_object()->url;
3
birgire