|
POST запрос. Помогите решить проблему. | ☑ | ||
---|---|---|---|---|
0
Boudybuilder
22.09.14
✎
00:48
|
в ТЗ указано что надо отправить POST запрос на адрес: http://сервер/new_orders.php с заполненной переменной $_POST['xml_request'], в которой передается содержимое XML фaйла.
Тут два вопроса: 1) Где заполняется эта переменная 2) в каком виде должно быть содержимое хмл , строка? Делаю я так: Если можно исправте что не так Попытка WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); WinHttp.Option(2,"utf-8"); WinHttp.Open("POST",Сервер,0); WinHttp.Send("$_POST['xml_request']"); ТекстОтвета = WinHttp.ResponseText(); Сообщить("УСПЕХТ ! | |"+ТекстОтвета); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; |
|||
1
SiAl-chel
22.09.14
✎
01:50
|
(0) Какая версия 1С? Если 8-я, то лучше использовать родные объекты HHTСоединение и HTTPзапрос, а с вопросами по WinHTTP лучше обращаться на MSDN http://social.msdn.microsoft.com/Forums/ru-RU/home
|
|||
2
Boudybuilder
22.09.14
✎
01:53
|
(1) 8.3
|
|||
3
МастерВопросов
22.09.14
✎
04:46
|
+1 к родным методам 1С
Почитай в синтакс помошнике описание обьекта HTTPСоединение и его метод ОтправитьДляОбработки. Там довольно просто всё. |
|||
4
МастерВопросов
22.09.14
✎
04:54
|
+(3) вот пример:
ФайлОтправки = Новый Файл(ИмяВременногоФайла); РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер()); Заголовки = Новый Соответствие(); Заголовки.Вставить("Content-Type", "text/html;charset=utf-8"); Заголовки.Вставить("Content-Lenght", РазмерФайлаОтправки); имяВыходногоФайла = ПолучитьимяВременногоФайла("xml"); HTTP = Новый HTTPСоединение(НазваниеСервераБезHTTPиСлешев); ОтветСервера = HTTP.ОтправитьДляОбработки(ИмяВременногоФайла, имяВыходногоФайла, Заголовки); |
|||
5
Нуфс-Нуфс
22.09.14
✎
08:23
|
СтруктураДляПередачи = Новый Структура;
СтруктураДляПередачи.Вставить("Пользователь", ПараметрыСеанса.ТекущийПользователь); СтруктураДляПередачи.Вставить("ДанныеСтрокой", "Строковые данные"); ХранилищеДляПередачи = Новый ХранилищеЗначения(СтруктураДляПередачи, Новый СжатиеДанных(9)); ТекстФайла = Сериализовать(ХранилищеДляПередачи); // передача файла Соединение = Новый HTTPСоединение(Адрес, , Логин, Пароль); Запрос = Новый HTTPЗапрос(путь"); Запрос.УстановитьТелоИзСтроки(ТекстФайла); Ответ = Соединение.ОтправитьДляОбработки(Запрос); |
|||
6
Boudybuilder
25.09.14
✎
21:48
|
Если Сервер = "http://gw.site.ru:11443/new_orders.php"
тогда так Новый HTTPСоединение(gw.site.ru, , Логин, Пароль); куда девать порт 11443 и это куда new_orders.php ? |
|||
7
Boudybuilder
25.09.14
✎
22:44
|
(4) ОтправитьДляОбработки имеет только два параметра. а не 3
|
|||
8
Boudybuilder
25.09.14
✎
22:48
|
(5) Запрос.УстановитьТелоИзСтроки(ТекстФайла);
Как мне получить текст хмл файла? |
|||
9
Boudybuilder
26.09.14
✎
01:00
|
Уже хоть ответ от сервера приходит...
<?xml version="1.0" encoding="UTF-8"?><response ErrorCode="ERR_XML_EMPTY" Msg="Значение переменной $_POST[xml_request] пустое" /> Но почему пустое ... не понятно |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |