使用SSL://协议的WP_REMOTE_POST

时间:2011-08-30 作者:Dan Cameron

    $response = wp_remote_post( \'ssl://securesite.com\', array(
        \'method\' => \'POST\',
        \'body\' => $string, // variable is set
        \'timeout\' => apply_filters( \'http_request_timeout\', 15),
        \'sslverify\' => true
    ));

    error_log(print_r($response, TRUE));

    if ( is_wp_error($response) ) {
        return FALSE;
    }

    $result = wp_remote_retrieve_body($response);
结果是错误:

[30-Aug-2011 21:53:53] WP_Error Object
(
[errors] => Array
    (
        [http_request_failed] => Array
            (
                [0] => Unsupported protocol: ssl
            )

    )

[error_data] => Array
    (
    )

)
如果我使用fsockopen和fgets,一切都很好。

似乎我错过了一个未记录的技巧,因为ssl应该由wp\\u remote\\u post处理。

2 个回复
SO网友:Rarst

这似乎不是来自WP本身的错误,但可能是由curl生成的,WP喜欢首先选择curl作为网络请求。

我会尝试在您的主机和其他地方手动使用curl复制请求。

如果您对以其他方式处理网络请求感到满意,您可以调整使WP跳过curl作为传输并使用其他选项。

SO网友:Otto

您是从哪里获得“ssl://”作为有效协议的?

您是否改为使用“https://”进行了尝试?

结束