Првет. Нужно с помощью autoit Отправить get или post запрос на веб сервер. Много перелопатил, долго не получалось и не понимал почему, но вот результат выдал функцию и ссылки на документацию
;Функция отправки POST\GET запроса на web сервер и получение результата
Func HTTPS_Request($Type, $URL, $Data)
$WinHttpReq = ObjCreate(‘WinHttp.WinHttpRequest.5.1’)
;В зависимости от типа запроса формируем URL
If $Type = «GET» Then
$URL = $URL & «?» & $Data
$Data = «»
ELSE
EndIf
; Организуем POST запрос
$WinHttpReq.open($Type, $URL, false)
$WinHttpReq.Option(4) = 13056 ; Для HTTPS(что и для чего не понял)
; Вставляем заголовки(на своё усмотрение и усмотрени евеб сервера)
;Add Referrer header
$WinHttpReq.SetRequestHeader(«Referrer», «http://www.REFERRERURL.com»)
;Add Content-Type
$WinHttpReq.SetRequestHeader(«Content-Type», «application/x-www-form-urlencoded»)
;Отправляем POST\GET Запрос
$WinHttpReq.send($Data)
;получаем ответ веб сервера(как текст)
$ret = $WinHttpReq.ResponseText
Return $ret
EndFunc
Вызов функции для GET запроса:
$ret = HTTPS_POST(«GET»$URL, $PostData)
Вызов функции для POST запроса:
$ret = HTTPS_POST(«GET»$URL, $PostData)
Где $URL = ссылка на сайт, $PostData = передаваемые данные
Для проверки я написал PHP скрипт
<?
if ($_POST)
{
echo ($_POST[«name»].» NAME-POST»);
echo ($_POST[«tel»].» NAME-POST»);
}
ELSE
{
if ($_GET)
{
echo ($_GET[«name»].» NAME-GET»);
}
ELSE
{
echo («NO POST and GET»);
}
}
?>
Вот некоторая документация от MS по WinHTTP и по запросам
по теме: WinHttp.WinHttpRequest.5.1, на форуме Autoit, это не использовал, помогло
Привет. Спасибо за материал. Делал так-же только использовал:
$httpObj = ObjCreate(«MSXML2.XMLHTTP.5.0»)
не подскажешь в чем отличие от WinHttp.WinHttpRequest.5.1 ?
Не не в курсе. Вот может тут что прочитаешь:
WinHTTP 5.1 — http://msdn.microsoft.com/ru-ru/library/aa384086(v=VS.85)
Я вот похожую задачу на POSH делал. если нужна пишит, а так скоро пост будет.