Httpie: Äquivalente cURL hinzufügen --resolve Flag

Erstellt am 27. Okt. 2012  ·  13Kommentare  ·  Quelle: httpie/httpie

Pro cURL --help:

--resolve HOST:PORT :ADDRESS Auflösung von HOST:PORT in ADDRESS erzwingen

(umgeht die Hosts-Datei)

Beispielanwendung:

http --resolve "www.foo.com:127.0.0.1" GET www.foo.com/whatever

ODER

http --resolve "www.foo.com:8080:127.0.0.1" GET www.foo.com:8080/whatever

feature

Hilfreichster Kommentar

Der obige Trick funktioniert nicht für HTTPS-Sites. Wir brauchen eine vollständige Auflösungsoption ähnlich wie curl.

Alle 13 Kommentare

Ich denke, Sie können dasselbe erreichen, indem Sie den Header Host explizit festlegen:

http 127.0.0.1/whatever Host:www.foo.com

Der obige Trick funktioniert nicht für HTTPS-Sites. Wir brauchen eine vollständige Auflösungsoption ähnlich wie curl.

Ich verwende httpie, um zu testen, ob ich mein DNS-Round-Robin richtig einrichte. +1 für Funktion

Nur neugierig... Das ist jetzt seit über einem Jahr geöffnet (seit der Wiedereröffnung)... wird es vielleicht angeschaut? Scheint eine nützliche Funktion zu sein.

Die zugrunde liegende Software, die HTTPie verwendet, erlaubt es nicht, ihre eigenen IP-Adressen für einen bestimmten Host anzugeben. Es ist unwahrscheinlich, dass es dort hinzugefügt wird. Also, @aztlan2k, es ist unwahrscheinlich, dass daran gearbeitet wird. Es tut uns leid. :/

Hi! Ich habe Code eingereicht und würde mich über Kommentare freuen.

Gerade über einen anderen PR erneut eingereicht. Würde es Ihnen etwas ausmachen zu überprüfen?

Gibt es eine Chance, das zusammenzuführen? @jakubroztocil

Das wäre großartig, um die Site-Migration vorzubereiten und Probleme zu vermeiden!

Dies kann über dig +short <host> A . Es ist eine DNS-Sache, nicht wirklich HTTP

dig wird verwendet, um das DNS abzufragen, das vorgeschlagene --resove wird verwendet, um die Auflösung einer Adresse während eines HTTP-Abrufs zu erzwingen (wahrscheinlich auf einen Wert, den der DNS-Server noch nicht hat, aber in die Zukunft, nachdem dieser Test durchgeführt wurde).
Es ist eher eine Alternative zum Bearbeiten von /etc/hosts als zur Verwendung von dig (oder drill oder ähnlich).

Falls jemand verwirrt ist, warum dies "für HTTPS" benötigt wird, insbesondere wenn TLS SNI (Server Name Indication) anstelle des HTTP-Host-Headers verwendet wird, um Verbindungen eindeutig zu machen (z. oder Anwendungsfälle für "virtuelle Server" im Allgemeinen), was sehr häufig vorkommt.

In diesem Zusammenhang reicht es nicht aus, die IP im Voraus aufzulösen, da sie keinen virtuellen Servernamen darstellt, der vom tatsächlichen Server erwartet wird.

Wenn ein Äquivalent zu --resolve ist aus irgendeinem Grund nicht wünschenswert und zwingt den SNI - Wert (zB --sni ) würde eine akzeptable Alternative IMO sein , da wir bereits das Äquivalent für Plain - HTTP tun kann (dh Set den Host-Header-Wert explizit).

Dies kann auch für absolute Weiterleitungen nützlich sein (die eine vollständige URL mit einem Hostnamen enthalten)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

a-x- picture a-x-  ·  7Kommentare

mattotodd picture mattotodd  ·  3Kommentare

Govinda-Fichtner picture Govinda-Fichtner  ·  6Kommentare

filipesperandio picture filipesperandio  ·  3Kommentare

pyvotal-cguers picture pyvotal-cguers  ·  5Kommentare