如果响应代码为302,则从wp_emote_post获取返回的URL

时间:2021-12-01 作者:Saturnix

我正在向API发送POST请求:

    $payload = array(\'body\' => $payload);
    $payload[\'redirection\'] = false;

    $response = wp_remote_post( $settings[\'webhooks\'], $payload );

    do_action( \'elementor_pro/forms/webhooks/response\', $response, $record );

    $redirect_to = wp_remote_retrieve_header( $reponse, \'Location\' );
API端点返回302 redirect 到其他URL:www.you-got-redirected.com.

如何访问www.you-got-redirected.com 作为PHP中的变量?我知道wp_remote_retrieve_body 但这是内容,而不是URL。

我不想更改API的行为,也不想更改wp_remote_post() 没有说明如何访问响应的内容。

编辑:已尝试此操作,但始终返回empty string

$redirect_to = wp_remote_retrieve_header( $reponse, \'Location\' );

1 个回复
SO网友:jbbougie

你差点就成功了。

$payload 您需要将默认重定向参数设置为0/false,$payload[\'redirection\'] = false;

位置标头为空,因为它遵循了。然后,您将能够从位置标头获取重定向URL。您可以看到使用的参数列表here

相关推荐

Ajax call not working

我有下面的wordpress代码片段,除了ajax调用之外,它运行良好。我收到警报是,但不是警报数据。我怀疑ajax url不正确,但不知道指向何处,因为所有代码都在同一个片段中。我可能会收到一个提示,说是的,然后打招呼,如果我能让它起作用,其余的应该会自行纠正。/* if (isset($_POST[\'data_x\'])) { //echo get_update_dynamic_price_xyz($_REQUEST[\'data_x\']); echo \'