|
Не записывается ответ c сервера по POST-запросу в файл xml | ☑ | ||
---|---|---|---|---|
0
Мурочка
15.01.16
✎
14:55
|
Добрый день! Подскажите, пожалуйста... Отправляю запрос на сервер, ответ приходит(текстовый), но почему-то файл ответа остаётся пустым. Может я чего-то не понимаю, но в функции HTTP.ОтправитьДляОбработки(ФайлЗапроса, Ресурс, ИмяФайлаОтвета, ЗаголовокHTTP); В файл ИмяФайлаОтвета должен записываться ответ в том формате, в котором я задаю ИмяФайлаОтвета = ПолучитьИмяВременногоФайла("xml"); А он остается пустой и в строчке ОбъектXML.Прочитать(); выдаётся ошибка, что файл пустой. И когда я его в temp папке открываю, файл действительно пустой. Что я делаю не так? Запуталась. Код Ниже:
HTTP = Новый HTTPСоединение(Сервер); ФайлЗапроса = ПолучитьИмяВременногоФайла(); ТекстовыйФайл = Новый ТекстовыйДокумент; ТекстовыйФайл.УстановитьТекст("&requestsData=" + Значение)); ТекстовыйФайл.Записать(ФайлЗапроса, КодировкаТекста.UTF8); ЗаголовокHTTP = Новый Соответствие(); ЗаголовокHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded"); ЗаголовокHTTP.Вставить("Accept-Language", "ru"); ЗаголовокHTTP.Вставить("Accept-Charset", "utf-8"); ЗаголовокHTTP.Вставить("Content-Language", "ru"); ЗаголовокHTTP.Вставить("Content-Charset", "utf-8"); ИмяФайлаОтвета = ПолучитьИмяВременногоФайла("xml"); HTTP.ОтправитьДляОбработки(ФайлЗапроса, Ресурс, ИмяФайлаОтвета, ЗаголовокHTTP); ФайлОтвета = Новый Файл(ИмяФайлаОтвета); Если ФайлОтвета.Существует() Тогда ТекстОтвета = Новый ТекстовыйДокумент(); ТекстОтвета.Прочитать(ИмяФайлаОтвета); Если ТекстОтвета.КоличествоСтрок()>0 Тогда ОтветСервера = ТекстОтвета.ПолучитьТекст(); Иначе СтрокаСообщенияПользователю = СтрокаСообщенияПользователю + Символы.ПС + "Получение данных с сервера: Получен пустой ответ сервера."; КонецЕсли; Иначе СтрокаСообщенияПользователю = СтрокаСообщенияПользователю + Символы.ПС + "Получение данных с сервера: Ответ сервера не получен."; КонецЕсли; УдалитьФайлы(ФайлЗапроса); ОбъектXML = Новый ЧтениеXML; Попытка ОбъектXML.УстановитьСтроку(ОтветСервера); Исключение КонецПопытки; ОчереднойУзелXMLПрочитан = ОбъектXML.Прочитать(); ОбъектXML.Закрыть(); |
|||
1
sapphire
15.01.16
✎
15:11
|
(0)ИМХО, запрос к серверу неправильно построен.
|
|||
2
sapphire
15.01.16
✎
15:12
|
Собственно, ИМХО, файл запроса, видимо и не нужен вовсе.
HTTP.ОтправитьДляОбработки(ФайлЗапроса, Ресурс+"&requestsData=" + Значение, ИмяФайлаОтвета, ЗаголовокHTTP); |
|||
3
Мурочка
15.01.16
✎
15:13
|
Спасибо за наводку! А что именно не так? В передаче параметров или ЗаголовокHTTP. Я честно несколькими способами пробовала обратиться, но как-то не получается((
|
|||
4
Мурочка
15.01.16
✎
15:14
|
А да... сейчас попробую так
|
|||
5
Мурочка
15.01.16
✎
15:21
|
Неа, не получается так(
|
|||
6
sapphire
15.01.16
✎
15:27
|
(5) ТекстовыйФайл.УстановитьТекст("requestsData=" + Значение));
|
|||
7
sapphire
15.01.16
✎
15:28
|
+ (6) Да и что за ресурс, хотя бы что за доменом следует?
|
|||
8
Мурочка
15.01.16
✎
15:36
|
Ресурс что-то типа этого:
Ресурс = "/index.php?id=1"; |
|||
9
Мурочка
15.01.16
✎
15:46
|
ну вообщем это обмен с сайтом. "/index.php?id=1" - скрипт, который на запрос возвращает xml-структуру
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |