Суть задачи в следующем.
Требуется установить за минимальное время доступность 8000 URL в уже написанной программе на AutoIt.
Если доступ к сайтам по указанным URL блокируется по IP адресу для данного доменного имени сайта, то ответ на запрос через winhttp.winhttprequest.5.1 занимает слишком много времени.
Попытка использовать TCPConnect с уменьшением времени TCPTimeout результата не дала.
Исследовав вдоль и поперек Интернет 1, 2, 3 сделал вывод, что нормально реализовать задачу только с использованием AutoIt не предоставляется возможным.
Было решено попытать счастья путем опроса порта внешней программой.
На просторах Интернета была найдена подходящая утилита PortQry.exe.
С её помощью определение доступности порта в консоли занимает около 0,5 сек, что вполне устраивает.
Но при использовании утилиты PortQry.exe в коде AutoIt на выходе результата не вижу. Уважаемое сообщество AutoIt, прошу помочь.
Возможно кто-то решал нечто подобное и имеет опыт, которым может поделиться.
Кусок кода, в котором не вижу результата, выкладываю.
Требуется установить за минимальное время доступность 8000 URL в уже написанной программе на AutoIt.
Если доступ к сайтам по указанным URL блокируется по IP адресу для данного доменного имени сайта, то ответ на запрос через winhttp.winhttprequest.5.1 занимает слишком много времени.
Попытка использовать TCPConnect с уменьшением времени TCPTimeout результата не дала.
Исследовав вдоль и поперек Интернет 1, 2, 3 сделал вывод, что нормально реализовать задачу только с использованием AutoIt не предоставляется возможным.
Было решено попытать счастья путем опроса порта внешней программой.
На просторах Интернета была найдена подходящая утилита PortQry.exe.
С её помощью определение доступности порта в консоли занимает около 0,5 сек, что вполне устраивает.
Но при использовании утилиты PortQry.exe в коде AutoIt на выходе результата не вижу. Уважаемое сообщество AutoIt, прошу помочь.
Возможно кто-то решал нечто подобное и имеет опыт, которым может поделиться.
Кусок кода, в котором не вижу результата, выкладываю.
Код:
$TestAddress = "185.15.208.241"
$sServer = _CheckPort($TestAddress)
MsgBox(64, "Проверка сервера", $sServer)
Func _CheckPort($IPAddress)
Local $CheckPortCmd,$ResponseText,$IPPort
$IPPort = 80
$CheckPortCmd = RunWait (@ComSpec & " /c " & 'PortQry.exe -n ' & $IPAddress, "", @SW_HIDE)
$ResposeText = StdoutRead($CheckPortCmd)
Return $ResponseText
EndFunc