web-dev-qa-db-fra.com

Obtenir la destination finale après les redirections WP_Http (WordPress)

Je fais quelques requêtes à une API via WordPress, et cette dernière utilise des connexions SSL si elles sont activées dans les paramètres de l'API. Je voudrais déterminer si SSL est activé ou non sans avoir à demander à l'utilisateur si SSL est activé sur son compte, et l'API fait un bon travail de redirection, ce qui signifie

Maintenant, ce que je voudrais faire, c'est voir si une redirection s'est produite ou non et l'enregistrer dans mes options afin que les autres demandes soient renvoyées vers l'URL correcte sans aucune redirection.

Ma question est donc la suivante: existe-t-il un moyen de déterminer la destination finale après le déclenchement d'une WP_Http->request() lorsque la demande est redirigée?

Je ne vois aucune information à ce sujet dans les tableaux de réponses, je ne vois que la réponse finale, mais je ne sais pas de quelle URL provient. Ce que je peux faire, c’est de définir le paramètre redirection sur 0 et d’attraper l’erreur maximale de redirection autorisée, mais ce n’est pas infaillible, car je ne sais toujours pas si la redirection s’est produite de http à https ou simplement une autre page sous http.

J'espère que tout cela a du sens, laissez-moi savoir si vous avez des idées.

Merci!

~ K

2
kovshenin

Vous pouvez utiliser la demande wp_remote_head() pour un test, il devrait vous obtenir le code de réponse et rediriger la cible.

2
Rarst