Вывод ip вместе с заголовком
Здравствуйте.
Подскажите пожалуйста как вместе с заголовком ответа от сервера ещё и ip дописать? В таком виде в файл записывает только ответ без ip адреса: Код:
ForEach ($LINK in Get-Content in.txt) в файле in.txt имеется список ip. для примера: PHP код:
(соответственно пустые ip адреса - пропускать) PHP код:
PHP код:
Спасибо. |
для этой опреации в PoSh существует командлет Invoke-WebRequest
AFAIK сначала резолвить, а после реквестить |
Цитата:
поэтому я и взял за основу curl.exe , он отрабатывает на ура. Единственное что не хватает в коде, это дописывать ip из списка. Как прикрутить ума не приложу.. |
Busla, если моя память не спит с другим - правильно, ни curl ни Invoke-Webrequest не умеет IP возвращать адекватно, хотя для curl есть ключи -4 и -6 отвечающие за ipv4 и ipv6 соответственно.
Freddy1984, так написано же уже - сначала резолвить (например Resolve-DnsName) а потом уже реквестить. |
PHP код:
Цитата:
|
Xaegr,
Я вас благодарю, но по вашему примеру в консольном окне почему то выводит: Invoke-WebRequest : Not Found Цитата:
Цитата:
|
Цитата:
$psversiontable ? И вообще, покажите ошибку то. |
Freddy1984, установите WMF 5.1 https://www.microsoft.com/en-us/down....aspx?id=54616 и у вас много чего появится, не только invoke-webrequest
|
Цитата:
Цитата:
Вот эта ошибка на рабочий сервер, который curl переваривает правильно: Код:
Invoke-WebRequest : Невозможно соединиться с удаленным сервером Цитата:
|
|
А вот мне кажется я догадываюсь где собака порылась, хотя и не факт.
Скажите, Freddy1984, а не указан ли часом proxy в настройках винды? |
|
|
Цитата:
|
например так:
Код:
$LINK >> out.txt |
Цитата:
что то я вас не понимать :) |
Думаю, уже давно пора показать пример содержимого in.txt и объяснить, какой именно IP надо писать в out.txt
|
Xaegr, фигню написали: в реальной жизни это будут ip от других серверов ;-)
Цитата:
ну и до кучи: --head - это метод HEAD, очевидно: 1) он несовместим с --get 2) у Invoke-WebRequest тоже надо указывать -Method Head, а не Get |
Цитата:
Цитата:
PHP код:
(соответственно пустые - пропускать) PHP код:
PHP код:
|
Freddy1984, curl не прост, совсем не прост (С). Вы не можете ему просто так взять и скормить IP-адрес в обход DNS.
Допустим, есть у вас список: Код:
122.10.11.13:8000 Код:
@echo off Код:
curl -I target.org -w "%{remote_ip}:%{remote_port}" |
Цитата:
цитата из справки: "Задаёт url. Параметр полезен для указания адресов URL в файле конфигурации. Для контроля куда файл будет записан используйте параметры -o, --output или -O, --remote-name. Параметр можно использовать любое количество раз." |
Freddy1984, а вам не кажется, что URL и IP суть разные вещи? Читайте по буквам: URL - унифицированный локатор ресурса, IP - сетевой адрес узла. Вы где-нибудь видели в справке curl параметр --ip?
|
Цитата:
Код:
ForEach ($LINK in Get-Content in.txt) |
Цитата:
но это мы уже совсем далеко от темы ушли... я знаю как на cmd реализовать построчное чтение из файла ip адресов с помощью curl (и там как раз без --url не обойтись) и запись заголовков с ip адресом в файл, но с PowerShell у меня большие недопонимания, от того и задал тут вопрос. Цитата:
По вашему коду всё почти правильно работает, только кроме рабочих, в файл дописывает ещё и не рабочие. Цитата:
|
Модераториал
Цитата:
Цитата:
|
Цитата:
Ок |
Цитата:
Для тестирования необходимо было бы указать пару существующих и пару несуществующих. Цитата:
Цитата:
А так, учитывая всё вышенаписанное, попробуйте так: Код:
$fin = 'in.txt' |
Цитата:
Отрабатывает прекрасно! Громадный респект Вам!! Можно ещё тогда вопрос? так как на обработку каждой строки уходит 3 сек. (да, можно регулировать, понимаю), то прогон достаточно увесистого списока может занять приличное время. Я тут гуглил, и наткнулся на некий асинхронный метод прогона (я так понял это многопоточный, или многопроцессный режим). Можно попросить вас посмотреть, возможно ли асинхронный метод совместить с вашим кодом? Пример: PHP код:
|
Цитата:
3 сек. - максимально допустимое время передачи. Это время ожидания ответа, другими словами. Если он придет быстрее, то и ожидания не будет. Цитата:
В общем, попробуйте, конечно, если есть желание... |
Время: 02:28. |
Время: 02:28.
© OSzone.net 2001-