簡體   English   中英

如何在 wordpress 中存儲和記錄所有 http 請求和響應?

[英]How to store and log for all http request and response in wordpress?

我想存儲來自我的 wordpress 站點的所有傳出 http 請求。 我想存儲所有內部和外部 http 請求和響應以及使用 curl 發出的請求。 任何幫助都應該對我有用。

連接到WP_Http::_dispatch_request()

function fn_log_http_request_response( $wp_http_response, $request, $url ) {
    $request = [
        'method' => $request['method'],
        'url' => $url,
        'headers' => $request['headers'],
        'body' => $request['body'],
    ];

    if($wp_http_response instanceof WP_Error) {
        $response = [
            'errors' => $wp_http_response->errors,
            'error_data' => $wp_http_response->error_data,
        ];
    } else {
        $response = [
            'status' => [
                'code' => wp_remote_retrieve_response_code($wp_http_response),
                'message' => wp_remote_retrieve_response_message($wp_http_response),
            ],
            'headers' => wp_remote_retrieve_headers($wp_http_response)->getAll(),
            'body' => wp_remote_retrieve_body($wp_http_response),
        ];
    }

    error_log(print_r([
        'request' => $request,
        'response' => $response,
    ], true));

    return $wp_http_response;
}

// hook into WP_Http::_dispatch_request()
add_filter('http_response', 'fn_log_http_request_response', 10, 3 );

取自hinnerk-a

您也可以嘗試以下插件

https://wordpress.org/plugins/log-http-requests

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM