2016-05-13 3 views
0

Я тестирую инструмент обнаружения сервисов, и я хотел бы протестировать записи DNS, которые будут указывать на него, прежде чем я их установлю.Есть ли команда curl для замены встроенного хоста для этой команды?

Обычно я бы сделать это:

  1. , добавив их в файл hosts,
  2. выполнив команду curl, а затем
  3. удаление их из файла hosts.

Эта мысль возникает, когда я смогу сделать это с помощью curl.

Мой вопрос: Есть ли команда curl для выполнения замены встроенных хостов для этой команды?

EDIT: Я считаю, что это не дубликат this или this, как я задать другой вопрос, что происходит, чтобы иметь один и тот же ответ.

+0

Фактически дубликат http://stackoverflow.com/questions/3390549/set-curl-to-use-local-virtual-hosts?rq=1, и конкретный ответ: '--resolve' * if * у вас есть (или получить) недавнюю версию завитка. –

ответ

0

Для этого вы действительно хотите протестировать dns с помощью .

Преимущество этого в том, что вы можете указать DNS-сервер и хост, который вы пытаетесь решить.

dig @127.0.0.1 -p 8600 web.service.consul 

Где @127.0.0.1 является параметром сервера DNS и web.service.consul услуги настроен на DNS-сервере, консул. Затем передайте полученный IP-адрес вашей команде curl.

Чтобы ответить на исходный вопрос - вы хотите pass a header с помощью curl

curl -H 'Host: static.example.com' http://dnsserveripaddress/ 

Некоторые рода джентльмены указали --resolve

Но это выглядит как I actually needed

curl --dns-servers 

Обратите внимание, что это issues on OS X. Кажется, есть a workaround, но я не мог заставить это работать.

Возможно, вы даже начинаете свой собственный DNS-сервер, а затем указываете свою машину на этот DNS-сервер.