Команды SFK


    1        2        3        4        5        6        7        8        9        10    

Раздел 6. Networking - Сеть
fromnet | ftp | ftpserv | httpserv | ip | netlog | ping | pingdiff | tcpdump | udpdump | udpsend | web | wget |

Help:   Рус   |   Eng        Refer:   Рус   |   Eng  

Команда: web
sfk web [параметры] URL [параметры]
фильтр sfk ... +tweb [опции]

   вызвать URL-адрес http:// и распечатать вывод на терминал,
   или передать вывод дальнейшим командам для обработки.

   sfk ... +web требует параметр URL.
   sfk ... +tweb получает URL из предыдущей команды.

   опции
      -user=u и -pw=p установить базовую HTTP-аутентификацию.
                   вы также можете использовать глобальные опции -webuser, -webpw.
                   обратите внимание, что пароли не шифруются при передаче,
                   за исключением случаев использования SFK Plus с соединениями HTTPS.
      -nodump не печатать данные ответа.
      -proxy hostname:порт прокси-сервера. внутри компании
                   сети часто требуется подключение через прокси.
                   в качестве альтернативы установите переменную среды SFK_PROXY:
                     установить SFK_PROXY=myproxyhost:8000
                   чтобы узнать, какой прокси использует ваш браузер, см.
                   - Firefox: инструменты/параметры/дополнительно/сеть/настройки
                   - IE: инструменты/интернет-опции/подключения/настройки локальной сети
      -timeout=n ждать до n мс для соединения или данных.
                     по умолчанию стоит блокировка доступа, т.е. коннект прекращается
                     после тайм-аута операционной системы по умолчанию,
                     и чтение данных может блокироваться бесконечно.
      -webtimeout=n то же самое, но может быть задано как глобальная опция
                     для цепочки из нескольких команд.
      -delay=n ждать n мс после каждого запроса.
      -weblimit=n установить ограничение на размер загрузки до n мб
      -status[=s] добавить строку состояния после данных ответа, необязательно
                   с префиксом строки s, которая поддерживает шаблоны косой черты
                   как \n или \t. в полях цепочки команд есть
                   разделены табуляцией, в противном случае - пробелами.
      -noerr не печатать сообщение об ошибке
      -quiet не печатать строку состояния в случае -nodump
      -headers печатать отправленные и полученные http-заголовки
      -header x или -head добавляет пользовательский заголовок x в http-запросы, например
                   -header "Принять-язык: de,en-US;q=0.7,en;q=0.3"
                   можно указать несколько строк заголовка. заголовки по умолчанию
                   с тем же именем заменены.
      -request x или -req указывает весь HTTP-запрос, например
                   -req "POST/HTTP/1.1
                         Хост: локальный
                         Подключение: закрыть

                         переменная1=123&переменная2=456
                         "
                   это можно использовать только в файле сценария.
                   чтобы создать пример скрипта для редактирования, введите:
                      пакет sfk webreq.bat
      -reqfromvar запрос на получение из переменной a. должен содержать точное
                   данные, такие как пустая строка CRLF после заголовка GET.
      -showreq вывести полный URL, также можно использовать -status
      -подробно сообщить текущие настройки прокси, если они есть
      -noclose не отправлять заголовок «Соединение: закрыть».

   автоматическое расширение имен
      http:// добавляется автоматически. короткие IP-адреса вроде .100
      расширен как 192.168.1.100 в зависимости от вашей подсети.

   многострочные параметры в кавычках поддерживаются в скриптах
      с использованием полной отделки. введите "скрипт sfk" для деталей.

   ограничения
      - по умолчанию sfk web читает до 10 мегабайт данных.
        используйте -weblimit=n, чтобы изменить это значение на n мегабайт.
      - если бинарные данные найдены, бинарные коды удаляются
        при выводе на терминал.

   псевдонимы
      cweb вызывает веб быстро без какого-либо вывода,
            то же, что web -nodump -quiet.
      tweb то же, что и web, но явно указывает
            что он ожидает цепочку ввода текста.

   поддержка HTTPS
      Соединения SSL/TLS поддерживаются SFK Plus.
      читайте больше под:
         stahlworks.com/sfkplus

   коды возврата для цепочки
      0 = нормально >0 = любая ошибка

   смотрите также
      sfk wfilt - загружать веб-текст и фильтровать его напрямую
      sfk wget  - скачать файл с http URL
      sfk view  - инструментс графическим интерфейсом для поиска
                  и фильтрации текста по http URL-адресу
                  в интерактивном режиме
      curl      - мощный инструмент веб-запросов и загрузки

   веб-ссылка
      http://stahlworks.com/sfk-web


   Примеры
   1) sfk web .100/getStatus.xml
         звонки, например, http://192.168.1.100/getStatus.xml
         и печатает ответ xml на терминал

   2) sfk web 192.168.1.200/zones.xml +filter -+status
         вызывает http://192.168.1.200/zones.xml и извлекает
         все строки, содержащие «status»

   3) sfk web .100 +xex "_**_"
      получает главную страницу по IP 192.168.0.100 и извлекает тег заголовка html

   4) sfk filter ips.txt -form "$col1/xml/status.xml" +tweb -nodump
         вызывает множество разных URL-адресов на основе таблицы IP-адресов
         опция -nodump  печатать только одну строку состояния,
         а не полные данные результата

      --- пример скрипта: ---
       +setvar error=""
      +setvar uptime=""
      +web -maxwait=2000 -noerr -status=:status:
         ".250/info.xml"
         +xex "_:status:*\tERR
               _[setvar error][part2][endvar]_"
              "_*
               _[setvar uptime][part2][endvar]_"
      +if -var "#(error) <> "
         stop -var 5 "no access (#(error))"
      +getvar
      --- конец примера скрипта ---

         Скрипт пытается прочитать значение xml «uptime» из info.xml
         на локальном IP .250 и показать его +getvar.
         если нет соединения или по ошибке HTTP, остановится с текстом
         «no acess»