Comments (12)
В 1Скрипт делается по другому. Указываете в адресе протокол https:// и все будет работать. Т.е. объект ЗащищенноеСоединениеOpenSSL не реализован за ненадобностью.
Адрес должен быть не my.server.com
, а https://my.server.com
from onescript.
Но наверное, имело бы смысл и реализовать, для совместимости.
from onescript.
Спасибо, сработало, но не до конца. Соединение установилось, но при отправке запроса на обработку сайт возвращает необходимость авторизации. Прошу подсказать ещё, что в коде ниже может работать не так, как в 1С:Предприятие.
ещё раз, строка Ответ.ПолучитьТелоКакСтроку() возвращает html страницу с запросом пароля, в 1С:Предприятие она же возвращает ответ на запрос.
Соединение = Новый HTTPСоединение(Адрес);
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Заголовки.Вставить("Authorization", Токен);
Фильтры = Новый Массив;
ФильтрПользователь = Новый Массив;
ФильтрПользователь.Добавить("responsible.login");
ФильтрПользователь.Добавить("==");
ФильтрПользователь.Добавить(Логин);
Фильтры.Добавить(ФильтрПользователь);
Фильтры.Добавить(СтрРазделить("cache_status_type == IN_PROGRESS", " "));
Аргументы = Новый Структура("filter", Фильтры);
СтруктураЗапроса = Новый Структура("jsonrpc, method, kwargs", "2.2", "CmfTask.list", Аргументы);
ПараметрыJSON = Новый ПараметрыЗаписиJSON;
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку(ПараметрыJSON);
ЗаписатьJSON(ЗаписьJSON, СтруктураЗапроса);
ЗапросJSON = ЗаписьJSON.Закрыть();
Запрос = Новый HTTPЗапрос("/", Заголовки);
Запрос.УстановитьТелоИзСтроки(ЗапросJSON);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
Данные = ПрочитатьJSON(ЧтениеJSON, Ложь);
from onescript.
Надо снять снифером полностью http-запрос, который шлет 1С и который шлет 1Скрипт и сравнить чем они отличаются. Например, через https://www.telerik.com/fiddler или https://www.nirsoft.net/utils/http_network_sniffer.html
Скорее всего разница будет или в кодировках русских букв, или в добавляемых 1С-кой каких-то еще заголовках
from onescript.
@AA-KLex Попробуйте воспользоваться библиотекой 1connector (https://github.com/vbondarevsky/1connector) она берет на себя много низкоуровневых вещей. Возможно, у вас там редиректы приходят и 1С их сама обрабатывает... Без дампов http мне сложно сказать. Попробуйте через 1connector
from onescript.
Получил пакеты, в каждом из которых сделал по два запроса. Различия и сами пакеты прилагаю.
1connector ещё не пробовал.
Пакеты, отправляемые OneScript
Исходники пакетов
Исходники.zip
from onescript.
А http пакеты из этого добра можно извлечь? :)
from onescript.
Знать бы как. Я тоже ожидал, что будет более понятно.
Если речь о теле запроса и заголовках - он одинаковый, формирую его одинаковым кодом.
from onescript.
То, что он в объектной технике одинаковый, не означает, что он одинаковый в raw
from onescript.
Ставлю на редиректы. @AA-KLex попробуйте 1connector
from onescript.
@AA-KLex Попробуйте воспользоваться библиотекой 1connector (https://github.com/vbondarevsky/1connector) она берет на себя много низкоуровневых вещей. Возможно, у вас там редиректы приходят и 1С их сама обрабатывает... Без дампов http мне сложно сказать. Попробуйте через 1connector
@EvilBeaver Как установить 1connector если скрипт вызывается из HostedScriptEngine? То есть само приложение oscript.exe у меня отсутствует.
from onescript.
@EvilBeaver Подключил 1connector - скопировал в библиотеки.
Ничего не изменилось - возвращается html страничка с требованием авторизации.
Напишу в поддержку Евы - может там что подскажут.
from onescript.
Related Issues (20)
- Некорректное получение сигнатуры метода ОбработкаПолученияПредставления HOT 1
- Не понятное поведение встроенного TCPСервер HOT 3
- В ветке 1.9 не работает передача параметров в вызов метода делегата рефлектором HOT 1
- Ошибка в отладчике при использовании ЗагрузитьСценарийИзСтроки HOT 2
- Отладчик VS Code не подключается повторно , если сделать дисконнект HOT 3
- Ошибка "Конструктор не найден" HOT 14
- Отладчик ведет себя странным образом при остановке на точке и при прекращении отладки HOT 1
- На windows кодировка выхлопа отладки неверная
- Ошибка "Превышена допустимая длина потока" при записи двоичных данных большого размера в поток
- Неправильно работает ЧтениеJSON.Пропустить() HOT 5
- При вызове через COM пропущенные параметры получают значение Неопределено вместо значения по умолчанию HOT 11
- Слетает позиция потока при вызове методов объекта ЧтениеДанных в отладчике
- Нет перевода на английский для класса Консоль HOT 2
- Английский вариант СоединитьДвоичныеДанные в 1С - ConcatBinaryData, а в OS - ConcatenateBinaryData HOT 9
- Несовместимое поведение Выполнить, закрепленное в тестах eval HOT 9
- Метод HTTPОтвет.GetBodyAsBinary(), как английский вариант ПолучитьТелоКакДвоичныеДанные(), возвращает строку HOT 2
- Неверное значение аргумента ТекстовыйДокумент.Записать(Ч, КодировкаТекста.ANSI) HOT 18
- Отладчик одинаково реагирует на Stop и Disconnect, продолжая выполнение
- Не проверяются типы Перечислений при передаче их параметрами
- Ошибка в версии 1.8 при получени списка кластеров чере COM HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from onescript.