|
GET без записи в файл | ☑ | ||
---|---|---|---|---|
0
b612
29.07.19
✎
18:00
|
Уважаемые.
Как получить ответ сервера, не записывая его в файл ? Платформа 8.3.14.1630 толстый клиент, управляемое. В инструкции написано <ИмяВыходногоФайла> (НЕОБЯЗАТЕЛЬНЫЙ) но на деле, если не задать или задать пустую строку, выдаёт ошибку {ВнешняяОбработка.HTTPЗапросы.Форма.Форма.Форма(20)}: Ошибка при вызове метода контекста (Получить) ответик=Соединение.Получить(ТекстДляЗапроса,""); по причине: Неправильный путь к файлу. Схема не зарегистрирована HTTPСоединение (HTTPConnection) Получить (Get) Синтаксис: Получить(<HTTPЗапрос>, <ИмяВыходногоФайла>) Параметры: <HTTPЗапрос> (обязательный) Тип: HTTPЗапрос. HTTP-запрос. <ИмяВыходногоФайла> (необязательный) Тип: Строка. Имя файла, в который помещаются данные полученного ресурса. Если не указан или содержит пустую строку, то тело ответа может быть получено из объекта HTTPОтвет. Возвращаемое значение: Тип: HTTPОтвет. |
|||
1
polosov
29.07.19
✎
18:03
|
(0) Будь мужиком задай имя файла или убери кавычки.
|
|||
2
AllJoke
29.07.19
✎
18:05
|
ПолучитьТелоКакПоток();
ПолучитьТелоКакСтроку() |
|||
3
Garykom
гуру
29.07.19
✎
18:17
|
(1) Угу ПолучитьИмяВременногоФайла("html")
|
|||
4
Garykom
гуру
29.07.19
✎
18:18
|
В строку не рекомендую, сервер может несколько гигов отдать легко при хорошем канале достаточно шустро.
В поток сразу писать куда то так что один хрен лучше в файл. |
|||
5
Вафель
29.07.19
✎
18:27
|
(4) а чем строка от потока (по памяти) будет отличаться?
|
|||
6
Garykom
гуру
29.07.19
✎
18:59
|
(5) А хз как оно в платформе 1С реализовано, но как минимум экономия и времени и памяти ибо символы в строках двухбайтовые в 1С.
|
|||
7
Жан Пердежон
29.07.19
✎
19:08
|
(0) необязательный, это значит:
Соединение.Получить(ТекстДляЗапроса), а не как у тебя; да и первый параметр назван в лучших традициях говнокодинга. |
|||
8
b612
29.07.19
✎
20:20
|
в том и дело что сервер будет отдавать по 50 байтов на каждый запрос
|
|||
9
b612
29.07.19
✎
20:22
|
Жан Пердежон
Соединение.Получить(ТекстДляЗапроса) не работает выдаёт ошибку |
|||
10
PiotrLoginov
29.07.19
✎
20:33
|
"не работает" - так позволено каким-нибудь юзверям выражаться, но никак не уважающему себя специалисту.
"выдает ошибку" - уже ближе к корректному посту... |
|||
11
Мимохожий Однако
29.07.19
✎
21:33
|
(9) текст ошибки в студию
|
|||
12
b612
29.07.19
✎
22:32
|
{ВнешняяОбработка.HTTPЗапросы.Форма.Форма.Форма(20)}: Ошибка при вызове метода контекста (Получить)
ответик=Соединение.Получить(ТекстДляЗапроса); по причине: Неправильный путь к файлу. Схема не зарегистрирована |
|||
13
trad
29.07.19
✎
22:51
|
(12) дали же правильный ответ в (2)
|
|||
14
Жан Пердежон
31.07.19
✎
10:39
|
(12) весь говнокод показывай, с инициализации переменных
|
|||
15
Anton R
29.12.19
✎
00:19
|
HTTPЗапрос = Новый HTTPЗапрос(ТекстДляЗапроса);
ответик=Соединение.Получить(HTTPЗапрос); |
|||
16
Cthulhu
29.12.19
✎
12:14
|
(12): а полностью текст ошибки прочитать - религия мешает?
"с_х_е_м_а _н_е_ з_а_р_е_г_и_с_т_р_и_р_о_в_а_н_а" (а потом посмотреть в настройки и подумать - чо и где не так) |
|||
17
Anton R
30.12.19
✎
01:46
|
(15) Поясняю свой ответ, в документации этого нет:
Если в метод "Получить" объекта "HTTP соединение" первым параметром передается строка, то требуется второй параметр, иначе получишь ошибку из сабжа. Если первым параметром передается объект типа "HTTPЗапрос" - второй параметр не обязателен. Поэтому вместо "ответик=Соединение.Получить(ТекстДляЗапроса,""); " как в сабже, достаточно написать: HTTPЗапрос = Новый HTTPЗапрос(ТекстДляЗапроса); ответик=Соединение.Получить(HTTPЗапрос); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |