Wordpress wp_remote_post не может получить значение тела

avatar
Pablo
1 июля 2021 в 17:20
54
0
0

я надеюсь, что кто-нибудь может помочь с этим, мы пытаемся вызвать генерацию токена API внешней аутентификации, вызов в порядке, но мы можем получить значение тела, затем код, который мы используем, я не знаю, почему возвращается номер 1 в теле запроса, я пытаюсь по-разному, но я не знаю, что не так

error_log("\n\n ******************************************TOKEN GENERATION");   
$url="http://*.*.*.*:7100/api/clienteExterno/login/authenticate";
$data='{"Usuario":"woocommerce","Password":"Mercaderia2021"}';
$args = array(
'headers'     => array(
    'Cache-Control' => 'no-cache ',
    'Content-Type'  => 'application/json',
),
    'method' => 'POST', 
    "blocking" => true,
    'body' => $data,
    'timeout' => 10
); 

 $result = wp_remote_post($url, $args); 

if ( is_wp_error( $result ) || wp_remote_retrieve_response_code( $result ) != 200 || !isset( $result['body'] ) ) {
    
        $error_message = json_encode($result);
    
    error_log("\n\n ******************************************ERROR TOKEN DEVUELVEJYB" . $error_message);
                 $return = array('message' => "Error al generar token jyb");
            wp_send_json_error($return);
            wp_die(0);
}


//$responceData = json_decode(wp_remote_retrieve_body($response), true);

 
if (wp_remote_retrieve_body($result)){
    $response = json_decode(wp_remote_retrieve_body($result),false);
    //$response =json_decode($data);
        error_log("\n\n ******************************************TOKEN DEVUELVE JYB ARRAY" . print_r($response));
    
    WC()->session->set('tokenjyb', $response);      
        return  $response;
}else{
    
    WC()->session->set('tokenjyb', null);
};


return false;

Ответ напечатан

 ([headers] => Requests_Utility_CaseInsensitiveDictionary Object
    (
        [data:protected] => Array
            (
                [cache-control] => no-cache
                [pragma] => no-cache
                [content-type] => application/json; charset=utf-8
                [expires] => -1
                [server] => Microsoft-IIS/10.0
                [x-aspnet-version] => 4.0.30319
                [x-powered-by] => ASP.NET
                [access-control-allow-methods] => *
                [date] => Thu, 01 Jul 2021 16:44:58 GMT
                [content-length] => 217
            )

    )

[body] =>"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6Indvb2NvbW1lcmNlIiwibmJmIjoxNjI1MTU3ODk4LCJleHAiOjE2MjUxNTk2OTgsImlhdCI6MTYyNTE1Nzg5OCwiaXNzIjoiKiIsImF1ZCI6IioifQ.l3sP5hYM1VZlNro3HZ_VdUACqV9CaH5UZL5mYkS73jk"
[response] => Array
    (
        [code] => 200
        [message] => OK
    )

[cookies] => Array
    (
    )

[filename] => 
[http_response] => WP_HTTP_Requests_Response Object
    (
        [response:protected] => Requests_Response Object
            (
                [body] =>"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6Indvb2NvbW1lcmNlIiwibmJmIjoxNjI1MTU3ODk4LCJleHAiOjE2MjUxNTk2OTgsImlhdCI6MTYyNTE1Nzg5OCwiaXNzIjoiKiIsImF1ZCI6IioifQ.l3sP5hYM1VZlNro3HZ_VdUACqV9CaH5UZL5mYkS73jk"
                [raw] => HTTP/1.1 200 OK Cache-Control: no-cache Pragma: no-cache Content-Type: application/json; charset=utf-8 Expires: -1 Server: Microsoft-IIS/10.0 X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Access-Control-Allow-Methods: * Date: Thu, 01 Jul 2021 16:44:58 GMT Connection: close Content-Length: 217 "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6Indvb2NvbW1lcmNlIiwibmJmIjoxNjI1MTU3ODk4LCJleHAiOjE2MjUxNTk2OTgsImlhdCI6MTYyNTE1Nzg5OCwiaXNzIjoiKiIsImF1ZCI6IioifQ.l3sP5hYM1VZlNro3HZ_VdUACqV9CaH5UZL5mYkS73jk"
                [headers] => Requests_Response_Headers Object
                    (
                        [data:protected] => Array
                            (
                                [cache-control] => Array
                                    (
                                        [0] => no-cache
                                    )

                                [pragma] => Array
                                    (
                                        [0] => no-cache
                                    )

                                [content-type] => Array
                                    (
                                        [0] => application/json; charset=utf-8
                                    )

                                [expires] => Array
                                    (
                                        [0] => -1
                                    )

                                [server] => Array
                                    (
                                        [0] => Microsoft-IIS/10.0
                                    )

                                [x-aspnet-version] => Array
                                    (
                                        [0] => 4.0.30319
                                    )

                                [x-powered-by] => Array
                                    (
                                        [0] => ASP.NET
                                    )

                                [access-control-allow-methods] => Array
                                    (
                                        [0] => *
                                    )

                                [date] => Array
                                    (
                                        [0] => Thu, 01 Jul 2021 16:44:58 GMT
                                    )

                                [content-length] => Array
                                    (
                                        [0] => 217
                                    )

                            )

                    )

                [status_code] => 200
                [protocol_version] => 1.1
                [success] => 1
                [redirects] => 0
                [url] =>http://190.131.205.159:7100/api/clienteExterno/login/authenticate
                [history] => Array
                    (
                    )

                [cookies] => Requests_Cookie_Jar Object
                    (
                        [cookies:protected] => Array
                            (
                            )

                    )

            )

        [filename:protected] => 
        [data] => 
        [headers] => 
        [status] => 
    )

)

Источник
Chris Haas
1 июля 2021 в 17:31
0

Я не совсем уверен, в чем ваша проблема, но я могу сказать, что значение тела в вашем печатном ответе - это JWT.

Pablo
1 июля 2021 в 17:35
0

Да, но когда я получаю значение, оно отображается как число 1, а не значение токена jwt

Chris Haas
1 июля 2021 в 17:39
0

Вы не можете вызвать json_decode на JWT, вам нужно либо проанализировать, либо просто сохранить его для использования позже. Это отличная библиотека для работы с JWT и PHP.

Pablo
1 июля 2021 в 17:39
0

Большое спасибо, я изменю свой код

Pablo
1 июля 2021 в 17:44
0

Я ничего не изменил в этой части, но тот же номер один показывает $response = wp_remote_retrieve_body($result); error_log("\n\n **********************************************ТОКЕН РАЗВИВАТЬ МАССИВ JYB". print_r($response)); *********************************************ТОКЕН DEVUELVE JYB ARRAY1 [01-Jul -2021 17:41:32 UTC] ************************************************* *ТОКН ГЕНЕРАДО 1

Pablo
1 июля 2021 в 18:05
0

я думаю, я знаю, что происходит

Pablo
2 июля 2021 в 17:35
0

Решено, значение сохранено с ""

Ответы (0)