的文档wp_remote_post
says
在许多情况下,您可能会得到更好的服务wp_safe_remote_post
看看源代码,两者之间唯一不同的一行是wp_safe_remote_post
有以下内容:
$args[\'reject_unsafe_urls\'] = true;
This article 这是我找到的最好的解释,似乎表明我唯一应该使用的时间wp_remote_post
是指我对自己的网站进行远程呼叫时。
那么,我还想在其他情况下使用wp_remote_post
还是我应该一直坚持wp_safe_remote_post
?
最合适的回答,由SO网友:Nathan Johnson 整理而成
那么,在任何其他情况下,我是否希望使用wp\\u remote\\u post,或者我是否应该始终坚持使用wp\\u safe\\u remote\\u post?
这两个函数完全相同,除了wp_safe_remote_post()
设置reject_unsafe_urls
参数为true。该参数导致传递URLwp_http_validate_url()
在里面WP_Http::request()
.
从该函数中,我们看到有一些用例需要使用wp_remote_post()
而不是wp_safe_remote_post()
.
如果您使用的协议不是http或https*
如果需要传递用户或传入URL如果您正在发布到本地主机**如果需要使用80、443或8080以外的端口也可以使用
http_request_reject_unsafe_urls
用于传递URL的筛选器
wp_http_validate_url()
在HTTP请求中,是否
wp_safe_remote_post()
或
wp_remote_post()
被调用。
[*]如果reject_unsafe_urls
未设置,但仍会传递URLwp_kses_bad_protocol()
允许的协议有http、https和ssl。
[**]可以使用wp_safe_remove_post()
通过使用http_request_host_is_external
过滤并返回真实值。