Je pense que vous pouvez obtenir la même chose en définissant explicitement l'en-tête Host
:
http 127.0.0.1/whatever Host:www.foo.com
L'astuce ci-dessus ne fonctionne pas pour les sites HTTPS. Nous avons besoin d'une option de résolution complète similaire à curl.
J'utilise httpie pour tester que j'ai configuré correctement mon DNS round-robin. +1 pour la fonctionnalité
Juste curieux... Cela est ouvert depuis plus d'un an maintenant (depuis sa réouverture)... une chance qu'on y regarde ? Cela semble être une fonctionnalité utile à avoir.
Le logiciel sous-jacent utilisé par HTTPie ne permet pas aux utilisateurs de spécifier leurs propres adresses IP pour un hôte spécifique. Il est peu probable qu'il y soit ajouté. Donc, @aztlan2k, il est peu probable que cela soit en cours d'
Salut! J'ai soumis du code et j'apprécierais tous les commentaires.
Je viens de soumettre à nouveau via un autre PR. Voudriez-vous vérifier?
Une chance d'obtenir cela fusionné? @jakubroztocil
Ce serait formidable pour préparer la migration du site et éviter les problèmes !
Ceci peut être réalisé via dig +short <host> A
. C'est un truc DNS, pas vraiment HTTP
dig
est utilisé pour interroger le DNS, le --resove
proposé est utilisé pour forcer la résolution d'une adresse lors d'une récupération HTTP (probablement à une valeur que le serveur DNS n'a pas encore mais qu'il aura dans l'avenir, une fois ces tests effectués).
C'est plutôt une alternative à l'édition de /etc/hosts
qu'à l'utilisation de dig
(ou drill
, ou similaire).
Au cas où quelqu'un ne comprendrait pas pourquoi cela est nécessaire "pour HTTPS", c'est spécifiquement lorsque TLS SNI (Server Name Indication) est utilisé à la place de l'en-tête HTTP Host pour lever l'ambiguïté des connexions (par exemple, le routage L7 basé sur le nom d'hôte dans les proxys inverses, ou les cas d'utilisation de « serveur virtuel » en général), ce qui est extrêmement courant.
Dans ce contexte, la résolution préalable de l'IP n'est pas suffisante car elle ne constituera pas un nom de serveur virtuel attendu par le serveur réel.
Si un équivalent à --resolve
n'est pas souhaitable pour une raison quelconque, forcer la valeur SNI (par exemple --sni
) serait une alternative acceptable IMO car nous pouvons déjà faire l'équivalent pour le HTTP simple (c'est-à-dire définir explicitement la valeur de l'en-tête Host).
Cela peut également être utile pour les redirections absolues (qui incluent une URL complète avec un nom d'hôte)
Commentaire le plus utile
L'astuce ci-dessus ne fonctionne pas pour les sites HTTPS. Nous avons besoin d'une option de résolution complète similaire à curl.