Отправка POST запроса через планировщик

245
17 января 2018, 17:46

Добрый день. Есть HTML код

<FORM ACTION="https://site.com/orderresult/orderresult.cfm" METHOD="POST"> 
<INPUT TYPE="HIDDEN" NAME="Ordernumber" VALUE="1001-01"> 
<INPUT TYPE="HIDDEN" NAME="Merchant_ID" VALUE="123"> 
<INPUT TYPE="HIDDEN" NAME="Login" VALUE="lala"> 
<INPUT TYPE="HIDDEN" NAME="Password" VALUE="pas"> 
<INPUT TYPE="HIDDEN" NAME="Startyear" VALUE="2016"> 
<INPUT TYPE="HIDDEN" NAME="Startmonth" VALUE="07"> 
<INPUT TYPE="HIDDEN" NAME="Startday" VALUE="06"> 
<INPUT TYPE="HIDDEN" NAME="Starthour" VALUE="00"> 
<INPUT TYPE="HIDDEN" NAME="Startmin" VALUE="00"> 
<INPUT TYPE="HIDDEN" NAME="Endyear" VALUE="2016"> 
<INPUT TYPE="HIDDEN" NAME="Endmonth" VALUE="07"> 
<INPUT TYPE="HIDDEN" NAME="Endday" VALUE="07"> 
<INPUT TYPE="HIDDEN" NAME="Endhour" VALUE="00"> 
<INPUT TYPE="HIDDEN" NAME="Endmin" VALUE="00"> 
<INPUT TYPE="HIDDEN" NAME="Format" VALUE="3"> 
<INPUT TYPE="HIDDEN" NAME="Language" VALUE="EN"> 
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Выполнить"> 
</FORM>

Как все эти параметры передавать POST запросом, но через планировщик? Именно так надо отслеживать статус заказа, но я не знаю, как отправлять именно POST запросы. Можно предложить реализацию на PHP или Bash.

Answer 1

$curl = curl_init(); //инициализация сеанса curl_setopt($curl, CURLOPT_URL, 'https://site.com/orderresult/orderresult.cfm'); //урл сайта к которому обращаемся curl_setopt($curl, CURLOPT_HEADER, 1); //выводим заголовки curl_setopt($curl, CURLOPT_POST, 1); //передача данных методом POST curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //теперь curl вернет нам ответ, а не выведет curl_setopt($curl, CURLOPT_POSTFIELDS, //тут переменные которые будут переданы методом POST array ( "Ordernumber" => "1001-01", "Merchant_ID" => "123", "Login" => "lala", "Password" => "pas", "Startyear" => "2016", "Startmonth" => "07", "Startday" => "06", "Starthour" => "00", "Startmin" => "00", "Endyear" => "2016", "Endmonth" => "07", "Endday" => "07", "Endhour" => "00", "Endmin" => "00", "Format" => "3", "Language" => "EN" )); curl_setopt($curl, CURLOPT_USERAGENT, 'MSIE 5'); //эта строчка как-бы говорит: "я не скрипт, я IE5" :) curl_setopt ($curl, CURLOPT_REFERER, "http://ya.ru"); //а вдруг там проверяют наличие рефера $res = curl_exec($curl); //если ошибка то печатаем номер и сообщение if(!$res) { $error = curl_error($curl).'('.curl_errno($curl).')'; echo $error; } else { //если результат содержит то что нам надо (проверяем регуляркой), а в данном случае это табличка с классом yaResultat, то выводим ее. if (preg_match("/\<table class\='yaResultat'(.+)\<\/table\>/isU", $res, $found)) { $content = $found[0]; echo $content; //перед этим его конечно можно обработать всякими str_replace и т.д. } else { echo "<p>Неизвестная ошибка</p>"; //а если табличики с результатами нет, то печатать нечего и мы незнаем что делать :( } } curl_close($curl);

READ ALSO
С++ работа с XML

С++ работа с XML

Здравствуйте, мог бы кто-нибудь подсказать популярные библиотеки С++ для работы с XML(для записи в него и считывание данных из него) или хороший...

270
Сравнение строк по префиксу

Сравнение строк по префиксу

Есть корректно работающий шаблон для поиска диапазона строк в векторе, которые начинаются с определенного символа

243
Как узнать текущую директорию в С++ VS?

Как узнать текущую директорию в С++ VS?

Здравствуйте, как узнать полный путь до приложения? например: "c:\Test\Debug"

295
Работа со множеством строк

Работа со множеством строк

Дана строка, длиной не более 200000 символовНужно вывести все подстроки (подряд идущая последовательность символов внутри этой строки) используя...

297