У меня странные проблемы, когда мой внешний IP-адрес меняется ОЧЕНЬ часто, как каждые 2, 3 минуты.

У меня есть динамический DNS-сервис, который я обновляю через планировщик задач с помощью curl, вызываемого в командном файле.

Я нахожусь в процессе отладки этого, и для этого мне нужно будет записать (добавить) дату и время и каждый ответ CURL в файл.

Я могу отобразить файл, но понятия не имею, как добавить дату / время и ответ скручивания.

Окружающая среда ws2012.

Заранее спасибо! Вот фрагмент, который у меня есть на данный момент

curl -k http://freedns.afraid.org/dynamic/update.php?xdfSDASDQW232FFD
ECHO I ran! I really did! >c:\TestBat.log

2 ответа2

1

Я рекомендую пропустить curl все вместе и использовать Powershell вместо этого, поскольку это нативная технология WS и может также использоваться для отправки HTTP POST. Вот простой двухслойный журнал, который записывает ваш внешний IP и текущее время в файл C:\temp\debuglog.txt:

$response = Invoke-WebRequest -UseBasicParsing -Uri http://icanhazip.com -Method get
"{0};{1}" -f $response.content.trim(), (get-date -format u) | out-file -filepath 'C:\temp\debuglog.txt' -append

Поместите это в файл, который заканчивается на .ps1 и запустите его через планировщик задач:

Program: powershell
Arguments: -executionpolicy bypass C:\temp\debugscript.ps1
0

Пакетное решение, добавляет в файл журнала. Замените >> на > чтобы перезаписать:

@echo off
set logfile=.\curl.log

echo [ %date% %time% ]>>%logfile%
curl -s -k http://freedns.afraid.org/dynamic/update.php?xdfSDASDQW232FFD>>%logfile%

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .