Autoit: HTTPS GET и POST

Првет. Нужно с помощью 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, это не использовал, помогло

Об авторе Alex

Работаю Администратором. В основном Windows. Специализируюсь на Hyper-V, поддержке продуктивных сред и во всём помогает POSH. Малость Sharepoint. Чуть чуть работаю с железом
Запись опубликована в рубрике Windows, Администрирование с метками . Добавьте в закладки постоянную ссылку.

2 Responses to Autoit: HTTPS GET и POST

  1. ogerero говорит:

    Привет. Спасибо за материал. Делал так-же только использовал:

    $httpObj = ObjCreate(«MSXML2.XMLHTTP.5.0»)

    не подскажешь в чем отличие от WinHttp.WinHttpRequest.5.1 ?

  2. Alex говорит:

    Не не в курсе. Вот может тут что прочитаешь:
    WinHTTP 5.1 — http://msdn.microsoft.com/ru-ru/library/aa384086(v=VS.85)
    Я вот похожую задачу на POSH делал. если нужна пишит, а так скоро пост будет.

Добавить комментарий