|   |   | 
| 
 | Потоковое чтение ответа Get-запроса возможно ли в 1С? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Гений 1С гуру 27.01.23✎ 21:29 | 
        Очень большой ответ (JSON), можно ли разбить или читать потоково, если на сайте нет пагинации?     | |||
| 1
    
        vde69 27.01.23✎ 21:39 | 
        что значит читать потоково?     | |||
| 2
    
        Garykom гуру 27.01.23✎ 21:39 | 
        НТТРСоединение.Получить(Адрес, ИмяВходящегоФайла);
 И читай по кусочкам файл | |||
| 3
    
        Garykom гуру 27.01.23✎ 21:41 | 
        HTTPСоединение (HTTPConnection)
 Получить (Get) Синтаксис: Получить(<HTTPЗапрос>, <ИмяВыходногоФайла>) Параметры: <HTTPЗапрос> (обязательный) Тип: HTTPЗапрос. HTTP-запрос. <ИмяВыходногоФайла> (необязательный) Тип: Строка. Имя файла, в который помещаются данные полученного ресурса. Если не указан или содержит пустую строку, то тело ответа может быть получено из объекта HTTPОтвет. Возвращаемое значение: Тип: HTTPОтвет. Описание: Получает данные с HTTP-сервера, используя GET-запрос. Доступность: Сервер, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер. Использование в версии: Доступен, начиная с версии 8.0. Описание изменено в версии 8.3.21. | |||
| 4
    
        НафНаф 27.01.23✎ 21:43 | 
        и поставь уже 64-битный клиент     | |||
| 5
    
        vde69 27.01.23✎ 21:46 | 
        (0) любой сервис если он выдает json на входе имеет данные (параметры или post или еще какие) по которым можно сделать файл не большим, 
 вероятно ты просто не в курсе чего от тебя ждет сервер и посылаешь ему запрос без этих параметров. то есть вместо пагинатора тебе нужно использовать параметры запроса | |||
| 6
    
        vde69 27.01.23✎ 21:47 | 
        (5) +
 опять что-то ломаешь :) | |||
| 7
    
        magicSan 28.01.23✎ 04:32 | 
        человек 20 лет в 1с я его помню 10 лет назад - ему лоботомию сделали или аккаунт продал? От темы к теме тупущие вопросы     | |||
| 8
    
        NorthWind 28.01.23✎ 07:26 | 
        ну это смотря кто апи проектировал :) мы ж этого не знаем...     | |||
| 9
    
        novichok79 28.01.23✎ 09:26 | 
        1Сина не умеет работать по TCP-IP из коробки, а для того что ты описал необходимо читать данные из сокета в буфер определенного размера. Кроме этого, JSON по частям - очень плохая затея, тебе придется где-то склеивать данные, если в буфер попало значение строкового поля неполностью. А раз склеивать придётся, все равно придется загружать это дело в память. Обычно в таких случаях в API предусмотрена пагинация. Хотя если API писал такой же гений, возможно её и нет.     | |||
| 10
    
        Гений 1С гуру 28.01.23✎ 12:36 | 
        (4) а если COM понадобится - обратно 32? ггг... Забавный решала вопросов.
 (2) Интересно, спасибо, попробую. | |||
| 11
    
        FirstLine Support 28.01.23✎ 12:45 | 
        (7) он ИП-шник, имейте уважение     | |||
| 12
    
        Гений 1С гуру 28.01.23✎ 12:53 | 
        (2) Спасибо, помогло. Правда строку длинной 205 миллионов символов читала 3 минуты.
 Но зато можно теперь не напрягать разработчиков API с пагинацией. Это хорошо. 
 | |||
| 13
    
        Asmody 28.01.23✎ 15:51 | 
        (12) "строку длинной 205 миллионов символов" - за такое API надо гнать из профессии сцаными тряпками     | |||
| 14
    
        zva 28.01.23✎ 16:44 | 
        Чтение = Новый ЧтениеJSON;
 Чтение.ОткрытьПоток(Ответ.ПолучитьТелоКакПоток()); ДанныеОтвета = ПрочитатьJSON(Чтение, Истина); | |||
| 15
    
        Garykom гуру 28.01.23✎ 18:25 | 
        (12) >строку длинной 205 миллионов символов читала 3 минуты
 радуйся что всего 3 минуты для json был бы xml и трем часам радовался | |||
| 16
    
        Гений 1С гуру 28.01.23✎ 19:53 | 
        (14) спасибо, попробую.     | |||
| 17
    
        Сергиус 29.01.23✎ 01:51 | 
        (7)Подобные вопросы у него всегда были - так что в этом стабильность)     | |||
| 18
    
        Сергиус 29.01.23✎ 01:53 | 
        (10)А что, COM  в 64-х не работает что ли?     | |||
| 19
    
        НафНаф 29.01.23✎ 07:54 | 
        (12) так ты просто безграмотный оказался? Тю...     | |||
| 20
    
        Garykom гуру 29.01.23✎ 08:51 | 
        >Если Ответ.КодСостояния = 200 Тогда
 прикольная грабля что почти всегда только 200 код ответа принимают хотя https://ru.wikipedia.org/wiki/Список_кодов_состояния_HTTP#2xx все 2ХХ ответы успешные | |||
| 21
    
        Garykom гуру 29.01.23✎ 08:51 | 
        (20)+ это к https://ru.wikipedia.org/wiki/HTTP#Частичные_GET     | |||
| 22
    
        Гений 1С гуру 29.01.23✎ 12:45 | 
        (18) не всё оборудование имеет дрова под 64, например     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |