Что нового

WinHttp.WinHttpRequest.5.1 переотправка запроса

Сообщения
21
Репутация
-1
Я выполняю пост запрос на свой сервер и получаю ответ, но иногда обрывается соединение и я ловлю следующую ошибку
$oHTTP.Send($sData)
$oHTTP^ ERROR

после чего программа приостанавливает свою работу, я бы хотел как-то при неудачном запросе отправить его повторно через несколько секунд.
Я пытался это реализовать отловив ошибку и рекурсивно вызвать этот же метод отправки, но все четно
If (@error) Then Return HttpPost($sURL, $sData).
Подскажите как мне поступить?
 
Автор
T
Сообщения
21
Репутация
-1
CreatoR сказал(а):
the_gt99 [?]Он есть в приведённой ссылке ObjEvent (и в справке).
Да, увидел, но так и не понял как это применить к моей проблеме.
К примеру я пробовал следующий код
Код:
#include <MsgBoxConstants.au3>

Global Const $HTTP_STATUS_OK = 200

Func HttpGet($sURL, $sData = "")
	Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
	ObjEvent($oHTTP, "mAlert") 

	$oHTTP.Open("GET", $sURL & "?" & $sData, False)
	If (@error) Then Return SetError(1, 0, 0)

	$oHTTP.Send()
	

	If ($oHTTP.Status <> $HTTP_STATUS_OK) Then Return SetError(3, 0, 0)

	Return SetError(0, 0, $oHTTP.ResponseText)
EndFunc

Func mAlert() 
	msgBox(0,"1","111")
EndFunc

Global $sGet = HttpGet("http://www.google.com/")
FileWrite("Google.txt", $sGet)


и я получаю все ту же ошибку, а не функцию, которую я указал в ObjEvent.
 
Верх