Пакетный запрос curl с txt-файлом с адресом https

acpi=force — это параметр загрузки, который указывает::

Активирует систему ACPI, даже если BIOS вашего компьютера более ранней версии, чем 2000. Этот параметр перезаписывает acpi=off и может также использоваться с текущим оборудованием, если поддержка ACPI не активирована, несмотря на apm=off.

Он переопределяет параметр acpi=off, а также переводит прерывание в режим опроса, что в конечном итоге уменьшает количество сбоев при инициализации драйвера из-за общих прерываний.

После внесения каких-либо изменений в /etc/default/grub необходимо запустить обновление -grub, чтобы оно вступило в силу при следующей загрузке.

0
06.08.2019, 14:00
1 ответ

Во всех примерах я предполагаю, что файл состоит из одного IP-адреса на строку.

1. завиток и магия

Вы можете достичь своей цели с помощьюcurl(1)и некоторой магии вокруг

curl -d "{\"data\": [\"UpTimeSinceLastReboot\"]}" \
  -H "Content-Type: application/json" \
  -k \
  -u USERNAME:PASSWORD \
  -w ",%{remote_ip}\t" \
  <(sed 's#^#https://#;s#$#/api/v1/mgmt/config/get#' /path/to/file) \
  | tr -ds '\n\t' '\t\n'

Я разделил команду на несколько строк для лучшего понимания:

  • Я переместил учетные данные из URL в параметр curl
  • Ключ вводится из подоболочки для префикса IP-адреса с протоколом https :// и добавления пути /api/v1/mgmt/config/get
  • Опция
  • -w записывает удаленный _ip после ответа. Формат ,REMOTE_IP<TAB>используется позже в tr для создания желаемого формата
  • передача этого черезtr(1)удаляет возможную новую строку в конце ответа и создает новую строку в конце (это нехорошо, но должно работать ).

Примечание :В этом примере результат

RESPONSE,IP
…

2. на петлю

for ip in $(cat /path/to/file)
do
  echo -ne "$ip\t"
  curl -d "{\"data\": [\"UpTimeSinceLastReboot\"]}" -H "Content-Type: application/json" -k https://USERNAME:PASSWORD@$ip/api/v1/mgmt/config/get
done

результат:

IP,RESPONSE
…

3. цикл while

цикл while

while read ip
do
  echo -ne "$ip\t"
  curl -d "{\"data\": [\"UpTimeSinceLastReboot\"]}" -H "Content-Type: application/json" -k https://USERNAME:PASSWORD@$ip/api/v1/mgmt/config/get
done < /path/to/file

результат:

IP,RESPONSE
…
0
28.01.2020, 03:23

Теги

Похожие вопросы