La documentation pour wp_remote_post
dit
Dans de nombreux cas, vous serez peut-être mieux servi avec
wp_safe_remote_post
En regardant le code source, la seule ligne qui soit différente entre les deux est que wp_safe_remote_post
a ceci: $args['reject_unsafe_urls'] = true;
Cet article est la meilleure explication que j'ai trouvée, ce qui semble indiquer que le seul cas où je devrais utiliser wp_remote_post
est le moment où je passe un appel distant à mon propre site.
Donc, y a-t-il une autre situation dans laquelle je voudrais utiliser wp_remote_post
ou dois-je toujours rester avec wp_safe_remote_post
?
Donc, y a-t-il une autre situation dans laquelle je voudrais utiliser wp_remote_post ou devrais-je toujours rester avec wp_safe_remote_post?
Les deux fonctions sont exactement les mêmes, sauf que wp_safe_remote_post()
définit l'argument reject_unsafe_urls
sur true. Cet argument entraîne le passage de l'URL par le biais de wp_http_validate_url()
in WP_Http::request()
.
Dans cette fonction, nous voyons qu'il existe quelques cas d'utilisation où vous auriez besoin d'utiliser wp_remote_post()
au lieu de wp_safe_remote_post()
.
Il est également possible d'utiliser le filtre http_request_reject_unsafe_urls
pour transmettre des URL via wp_http_validate_url()
dans une requête HTTP, que wp_safe_remote_post()
ou wp_remote_post()
soit appelé.
[*] Si reject_unsafe_urls
n'est pas défini, l'URL est toujours transmise si wp_kses_bad_protocol()
et les protocoles autorisés sont http, https et ssl.
[**] Il est possible d'utiliser wp_safe_remove_post()
avec l'hôte local en utilisant le filtre http_request_Host_is_external
et en renvoyant une valeur de vérité.
les fonctionsSAFEsont en quelque sorte une tentative tardive d’assainissement en entrée, ce qui aurait dû se produire bien avant que le code n’ait atteint ce stade. (à ce stade, la demande échouera sans aucune possibilité d'informer un utilisateur qu'il existe un problème de configuration qu'il doit résoudre).
Vous devriez probablement toujours les utiliser et être prêt à gérer les situations dans lesquelles ils échouent du fait que vous essayez d'accéder à tout ce qui n'a pas un format "basique" et utilise les numéros de port les plus courants.
Quelle question? Vous avez trouvé toutes les informations intéressées.
wp_safe_remote_post()
function comment dit
Récupérez la réponse brute d'une requête HTTP sécurisée à l'aide de la méthode POST. Cette fonction est idéale lorsque la requête HTTP est adressée à une URL arbitraire. L'URL est validée pour éviter les redirections et les attaques par falsification.
Je pense que devrait toujours utiliser wp_safe_remote_post
. C'est sur.