|   |   | 
| 
 | Как открыть инет-страничку - по ссылке - и сохранить её код? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Garry1010 16.03.21✎ 17:35 | 
        Есть некий url на сайт. Беда в том, что если его открыть в браузере, то он нормально открывается и показывает json-структуру, которую и надо в конце концов. Но при попытке получить тот же результат через объект HTTPЗапрос выдаёт какую-то хрень. А именно, он возвращает какой-то html-код типа такого:
 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/html"> <head> <meta charset............. Причём эта хрень в браузере не открывается по-человечески. Как оно умудряется так работать, без понятия, - это всё современные извраты, уверен.[:злобность:] ... Так как же в 1С открыть эту страничку (по ссылке, а не то, что я привёл тут) и сохранить её код в файл? Есть такие варианты? | |||
| 1
    
        Kassern 16.03.21✎ 17:46 | 
        (0) Есть к примеру url api-adress.ru/orders?date=123&date2=234 который возвращает какой то json ответ. Так вот чтобы ты в 1ске его получил: 
 1) подключится к сервере через http соединение api-adress.ru 2) создать заголовки с типом соответствие и там прописать что ты хочешь получить ответ именно в json ("Content-Type","application/json") и прописать токен авторизации, если нужен (в твоем случае врятли). 3) создать http запрос, в котором прописать путь к скрипту orders?date=123&date2=234 и указать заголовки 4) вызвать нужный метод (POST, GET, PUT...) с данным запросом. В твоем случае, скорее всего это обычные GET запрос. | |||
| 2
    
        Dzenn гуру 16.03.21✎ 17:48 | 
        да, скорее всего дело в заголовках     | |||
| 3
    
        Garykom гуру 16.03.21✎ 17:49 | 
        (0) ПолеHTML документа используй, это самое простое     | |||
| 4
    
        Kassern 16.03.21✎ 17:50 | 
        (1) и да обработать правильно ответ еще. В твоем случае скорее всего можно так:
 Ответ=Соединение.ВызватьHTTPМетод("GET",Запрос); СтрокаОтвета=Ответ.ПолучитьТелоКакСтроку(); Если ЗначениеЗаполнено(СтрокаОтвета) Тогда Поток=Ответ.ПолучитьТелоКакПоток(); ЧтениеJSON=Новый ЧтениеJSON; ЧтениеJSON.ОткрытьПоток(Поток); МассивДанных=ПрочитатьJSON(ЧтениеJSON); ЧтениеJSON.Закрыть(); КонецЕсли; | |||
| 5
    
        acht 16.03.21✎ 17:53 | 
        (0) > Как оно умудряется так работать, без понятия, - это всё современные извраты, уверен
 Это характеризует в первую очередь тебя, а не сайт/апи/1С и пр. | |||
| 6
    
        Garikk 16.03.21✎ 18:16 | 
        (0) <Как оно умудряется так работать, без понятия, - это всё современные извраты, уверен.[:злобность:] >
 +1 к (5) современные это какие? 10 летней давности? то у вас не получается json выцепить из запросов, говорит лишь о вашей квалификации и непонимании того как веб работает, неважно современный или нет. далее, открывать ссылку надо в браузере И смотреть в средствах разработчика в network запросы которые возвращают нужный тебе json, зачастую всякие api-вьюшки возвращают всякие плюшки чтобы ты json этот видел отформатированным и красивым в браузере, а не мешанину из символов на 10 листов без переносов, плюс может там тебе возвращается ошибка по авторизации? | |||
| 7
    
        Garry1010 16.03.21✎ 23:07 | 
        (5) Я не должен - и не могу - быть специалистом во всех областях IT, а их уже развелось как грязи.:((     | |||
| 8
    
        Garry1010 16.03.21✎ 23:08 | 
        (6) То же самое - см. выше.     | |||
| 9
    
        ДедМорроз 16.03.21✎ 23:12 | 
        Самое простое-берем браузер,в котором он отображается и управляем им или через расширение браузера или,если браузер Осёл,то через Com-объект.     | |||
| 10
    
        acht 16.03.21✎ 23:13 | 
        (7) > Я не должен - и не могу.
 Каким образом это заставляет тебя злобствовать? | |||
| 11
    
        Garry1010 17.03.21✎ 13:45 | 
        (4) А что, ПолучитьТелоКакСтроку() и ПолучитьТелоКакПоток() могут вернуть разные результаты?     | |||
| 12
    
        Garry1010 17.03.21✎ 13:54 | 
        (2) А что значит создать заголовки?
 Ведь: HTTP-заголовки ответа сервера в виде соответствия: "Название заголовка" - "Значение". Использование: Только чтение. Как же их создать можно? Не вижу. | |||
| 13
    
        Garykom гуру 17.03.21✎ 13:59 | 
        (12) СП или гугл продать?     | |||
| 14
    
        acht 17.03.21✎ 14:00 | 
        (13) > СП 
 это всё современные извраты, уверен.[:злобность:] =) | |||
| 15
    
        Garykom гуру 17.03.21✎ 14:03 | 
        (14) Ну да с такой длиной и быть таким нубом очень странно     | |||
| 16
    
        Garry1010 17.03.21✎ 14:08 | 
        А что-то более умное есть?     | |||
| 17
    
        Garykom гуру 17.03.21✎ 14:15 | 
        (16) "Наймите программиста"©     | |||
| 18
    
        acht 17.03.21✎ 14:24 | 
        (16) "Я не должен", (С) Garry1010, Как открыть инет-страничку - по ссылке - и сохранить её код?     | |||
| 19
    
        Kassern 17.03.21✎ 14:25 | 
        (16) на инфостате и мисте полно тем и примеров как совершать http соединение и обрабатывать результаты через 1с, куча примеров с get,post запросами. Найдите время и почитайте, там все достаточно просто, либо воспользуйтесь советом (17).     | |||
| 20
    
        Garry1010 17.03.21✎ 14:26 | 
        Любит же наш человек почесать свой ЧСВ - хлебом не корми. Тьфу на вас, тьфу на вас ещё раз.:((     | |||
| 21
    
        acht 17.03.21✎ 14:44 | 
        (20) Чо, больше не придешь?     | |||
| 22
    
        Kassern 17.03.21✎ 14:45 | 
        (20) а ты хочешь, чтобы за тебя все с нуля написали? Я в (1) (4) итак максимально ясно расписал, что нужно делать, если этого не достаточно, то врятли тут кто-то сможет помочь     | |||
| 23
    
        TormozIT гуру 17.03.21✎ 14:51 | 
        Бери конструктор http-запросов в 1С (например http://devtool1c.ucoz.ru/index/konsol_http_zaprosov/0-66 )
 Подбирай заголовки (можно начать со сниферинга браузерных запросов например через Wireshark). В тяжелых случаях потребуется создание сессии и передача ее токена, но тогда точно легко не решишь задачу. Дальше жмешь "сгенерировать код" https://www.hostedredmine.com/issues/862516 и получаешь готовый код | |||
| 24
    
        Garikk 17.03.21✎ 14:57 | 
        (20) Не хочешь разбираться, а хочешь бесплатно чтобы за тебя проблему решили?
 Это наш человек не ЧСВ хочет почесать, а коекто хочет чтобы за него нахаляву его работу сделали...и при этом еще выпендривается | |||
| 25
    
        acht 17.03.21✎ 15:01 | 
        (23) > через Wireshark
 Чот как-то сурово сразу так. | |||
| 26
    
        TormozIT гуру 17.03.21✎ 15:10 | 
        (25) Есть что то попроще или удобнее? Чем пользуешься сам? Что советуешь новичкам?     | |||
| 27
    
        acht 17.03.21✎ 16:06 | 
        (26) Кнопка F12 в браузере     | |||
| 28
    
        Garikk 17.03.21✎ 16:39 | 
        (26) devtools по f12 в браузерах и postman     | |||
| 29
    
        TormozIT гуру 17.03.21✎ 18:30 | 
        (27) Согласен. Это удобнее.     | |||
| 30
    
        TormozIT гуру 17.03.21✎ 18:32 | 
        (28) Как postman позволяет ловить запросы от браузера?     | |||
| 31
    
        Garry1010 19.03.21✎ 15:47 | 
        Короче, для моего случая правильный вариант доступа оказался таким, что в HTTPСоединение в первом параметре конструктора подставляется адрес НЕтестового сайта без имени протокола, но с указанием пути к API (а точнее: fgis.gost.ru/fundmetrology/eapi/). А в качестве параметра конструктора объекта HTTPЗапрос подставляются ТОЛЬКО параметры команды GET.
 Но стоило это мне хз сколько дней научного тыка и сотен попыток понять чего же эти объекты хотят в параметрах - путём тупой вариации этих URL'ов. Изменял их туда-сюда, пытаясь подобрать правильные. Ну, может, ещё и заголовки влияют - тут уже я вообще без понятия: из инета понадёргал всяких вариантов. | |||
| 32
    
        Kassern 19.03.21✎ 16:02 | 
        (31) нда...а ты точно читал, что я тебе в (4)  написал? Там сразу в 1 пункте написано, что нужно цепляться вначале к самому серверу, без пути к скрипту. в пункте 3 описано, как раз про то что надо пихать путь до скрипта в хттп запрос     | |||
| 33
    
        Kassern 19.03.21✎ 16:03 | 
        (32) спецом же на примере тебе расписал     | |||
| 34
    
        Garykom гуру 19.03.21✎ 16:08 | 
        Хыхыхыыыыыыыыыыы     | |||
| 35
    
        Garry1010 19.03.21✎ 16:12 | 
        (32) У тебя в (4) написано совсем другое. Не веришь? О_О     | |||
| 36
    
        Kassern 19.03.21✎ 16:13 | 
        (35) Ошибся, в (1) посте я расписал тебе все еще и с примером. А в (4)  дополнил, как можно распарсить json ответ     | |||
| 37
    
        Garykom гуру 19.03.21✎ 16:29 | 
        (35) Ты бы юморист сначала свой нерабочий код приве
 А потом телепатов звал | |||
| 38
    
        Garykom гуру 19.03.21✎ 16:29 | 
        (37) *привел     | |||
| 39
    
        Kesim 19.03.21✎ 18:49 | 
        (0) не слушай их, они все современные.
 выводи на форму текстовый реквизит с видом поле ХТМЛ, в значение реквизита вставляй некий урл. форму открываешь и показывает json-структуру и даже не надо сохранять, всегда свежий | |||
| 40
    
        Garykom гуру 19.03.21✎ 20:07 | 
        (39) см (3)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |