wp_remote_post 發(fā)送 HTTP POST 請(qǐng)求并返回相應(yīng)

發(fā)布于:
更新時(shí)間:2025-04-23

本文詳細(xì)介紹了WordPress中的wp_remote_post函數(shù),該函數(shù)用于發(fā)送HTTP POST請(qǐng)求并返回響應(yīng)數(shù)據(jù)。文章包含參數(shù)說(shuō)明、返回值解釋、使用示例以及如何在請(qǐng)求中添加基礎(chǔ)授權(quán)數(shù)據(jù)。此外,還提供了相關(guān)函數(shù)的參考,幫助開(kāi)發(fā)者更好地理解和應(yīng)用該功能。

函數(shù)功能

使用POST方法執(zhí)行HTTP請(qǐng)求并返回其響應(yīng)數(shù)據(jù)。

參數(shù)

參數(shù)數(shù)據(jù)類型是否必需描述默認(rèn)值
$url字符串請(qǐng)求 URL無(wú)
$args數(shù)組請(qǐng)求參數(shù)array()

返回值

響應(yīng)數(shù)組,如果出錯(cuò),返回 WP_Error 對(duì)象

使用示例

發(fā)送的Post數(shù)據(jù)應(yīng)該在 body 中提供,body 不一定是數(shù)組,也可以是 XML 或 JSON 格式的字符串或其他可以通過(guò) HTTP 協(xié)議發(fā)送的數(shù)據(jù)。

$response = wp_remote_post( $url, array(
    'timeout'     => 45,
    'redirection' => 5,
    'httpversion' => '1.0',
    'blocking'    => true,
    'headers'     => array(),
    'body'        => array(
        'username' => 'bob',
        'password' => '1234xyz'
    ),
    'cookies'     => array()
    )
);
 
if ( is_wp_error( $response ) ) {
    $error_message = $response->get_error_message();
    echo "Something went wrong: $error_message";
} else {
    echo 'Response:<pre>';
    print_r( $response );
    echo '</pre>';
}

在請(qǐng)求中添加基礎(chǔ)授權(quán)數(shù)據(jù)

如果需要添加基礎(chǔ)授權(quán)數(shù)據(jù),參考下面的代碼在 header 中添加即可。

$response = wp_remote_post( $url, array(
    'body'    => $data,
    'headers' => array(
        'Authorization' => 'Basic ' . base64_encode( $username . ':' . $password ),
    ),
) );

相關(guān)函數(shù)

wp_safe_remote_post: wp_remote_post 的帶安全驗(yàn)證的版本

wp_remote_get: 用 GET 方法從 URL 中獲取數(shù)據(jù)

我們提供 WordPress主題和插件定制開(kāi)發(fā)服務(wù)

本站長(zhǎng)期承接 WordPress主題、插件、基于 WooCommerce 的商店商城開(kāi)發(fā)業(yè)務(wù)。 我們有 10 年WordPress開(kāi)發(fā)經(jīng)驗(yàn),如果你想 用WordPress開(kāi)發(fā)網(wǎng)站, 請(qǐng)聯(lián)系微信: iwillhappy1314,或郵箱: [email protected] 咨詢。

發(fā)表回復(fù)

您的郵箱地址不會(huì)被公開(kāi)。 必填項(xiàng)已用 * 標(biāo)注

*