0
zippygrill
24.05.18
✎
11:40
|
Всем привет! Знатоки http запросов, нужна ваша помощь.
Не получается переписать РАБОЧИЙ html запрос на 1С-ный Новый HTTPЗапрос
Есть значит файл html c кодом, которая на отлично возвращает ответ в виде xml со всей нужной информацией.
"<html><body>
<FORM target=_blank ACTION="; METHOD="POST">
<INPUT TYPE="TEXT" NAME="BillNumber" VALUE="5113507224001229">
<INPUT TYPE="HIDDEN" NAME="Merchant_ID" VALUE="113507">
<INPUT TYPE="HIDDEN" NAME="Login" VALUE="demo_oezzxwwbyuiq">
<INPUT TYPE="HIDDEN" NAME="Password" VALUE="4l4mdb3sa36fgj">
<INPUT TYPE="HIDDEN" NAME="Format" VALUE="3">
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Confirm">
</FORM>
</body></html>"
Пишу так:
СтруктураURI = СтруктураURI(ПолныйАдресРесурса);
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
HTTPСоединение = Новый HTTPСоединение(СтруктураURI.Хост, СтруктураURI.Порт,Login,Password,,60,ЗащищенноеСоединение);
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
ЗаголовокHTTP.Вставить("Accept-Charset", "utf-8");
ЗаголовокHTTP.Вставить("BillNumber", BillNumber);
ЗаголовокHTTP.Вставить("Merchant_ID", Merchant_ID);
ЗаголовокHTTP.Вставить("Login", Login);
ЗаголовокHTTP.Вставить("Password", Password);
ЗаголовокHTTP.Вставить("Format", "3");
HTTPЗапрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере, ЗаголовокHTTP);
Попытка
Результат = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
Исключение
// исключение здесь говорит о том, что запрос не дошел до HTTP-Сервера
Сообщить("Произошла сетевая ошибка!");
ВызватьИсключение;
КонецПопытки;
В результате, в Результат.ПолучитьТелоКакСтроку() получаю ошибку ERROR-150;14:200
Я так понимаю что все параметры нужно положить в заголовке запроса или все-таки по другому?
|
|
2
vdss
24.05.18
✎
11:57
|
Обрати внимание, что у тебя данные лежат внутри тега body, а ты пытаешься запихать их в заголовки, т.е. headers.
Попробуй свою строку с данными установить как тело запроса с помощью метода УстановитьТелоИзСтроки
HTTPЗапрос (HTTPRequest)
УстановитьТелоИзСтроки (SetBodyFromString)
Синтаксис:
УстановитьТелоИзСтроки(<ТелоКакСтрока>, <Кодировка>, <ИспользоватьBOM>)
Параметры:
<ТелоКакСтрока> (обязательный)
Тип: Строка.
Содержит тело запроса в виде строки.
|
|