Httpie: 同等のcURL--resolveフラグを追加します

作成日 2012年10月27日  ·  13コメント  ·  ソース: httpie/httpie

cURLごと--help:

--resolve HOST:PORT :のアドレスを強制的に解決HOST:PORT ADDRESSへ

(hostsファイルをバイパスします)

使用例:

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

また

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

feature

最も参考になるコメント

上記のトリックは、HTTPSサイトでは機能しません。 curlと同様の完全な解決オプションが必要です。

全てのコメント13件

Hostヘッダーを明示的に設定することで、同じことができると思います。

http 127.0.0.1/whatever Host:www.foo.com

上記のトリックは、HTTPSサイトでは機能しません。 curlと同様の完全な解決オプションが必要です。

httpieを使用して、DNSラウンドロビンが正しく設定されていることをテストしています。 機能の+1

ただ好奇心が強い...これは(再開されてから)1年以上開いています...それが見られる可能性はありますか? 持っていると便利な機能のようです。

HTTPieが使用する基盤となるソフトウェアでは、特定のホストに独自のIPアドレスを指定することはできません。 そこに追加される可能性は低いです。 したがって、 @ aztlan2kはこれに取り組んでいる可能性は低いです。 ごめん。 :/

やあ! 私はいくつかのコードを提出しました、そしてコメントをいただければ幸いです。

別のPRを介して再送信するだけです。 確認していただけませんか?

これをマージする可能性はありますか? @jakubroztocil

これは、サイトの移行を準備し、問題を回避するのに最適です。

これは、 dig +short <host> Aを介して実現できます。 これはDNSのものであり、実際にはHTTPではありません

digはDNSのクエリに使用され、提案された--resoveは、HTTPフェッチ中にアドレスの解決を強制するために使用されます(おそらくDNSサーバーにはまだないが、将来、このテストが行​​われた後)。
これは、 dig (またはdrillなど)を使用するよりも、 /etc/hostsを編集する代わりになります。

これが「HTTPSの場合」に必要な理由について誰かが混乱している場合は、特に、HTTPホストヘッダーの代わりにTLS SNI (サーバー名表示)を使用して接続を明確にします(たとえば、リバースプロキシでのホスト名ベースのL7ルーティング。または「仮想サーバー」のユースケース一般)、これは非常に一般的です。

その場合、IPを事前に解決するだけでは、実際のサーバーが期待する仮想サーバー名を構成しないため、十分ではありません。

--resolve相当するものが何らかの理由で望ましくない場合、プレーンHTTPに相当するものをすでに実行できるため、SNI値(たとえば--sni )を強制することは許容可能な代替IMOになります(つまり、 Hostヘッダー値を明示的に)。

これは、絶対リダイレクト(ホスト名を含む完全なURLを含む)にも役立ちます。

このページは役に立ちましたか?
0 / 5 - 0 評価