Отправить XML-файл через POST с параметрами

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Отправить XML-файл через POST с параметрами

Сообщение Игорь Столяров » 22 Ноябрь 2019, 10:37

finsoftrz писал(а):
22 Ноябрь 2019, 10:27
когда ходишь и на фонарики улыбаешься.
Наверно вопрос привычки, но лично мне как-то комфортней работать с методами и классами, а не командной строкой.
Если же говорить конкретно о LibCurl - то это пожалуй одна из наиболее простых и безглючных библиотек под Clarion. :)
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1393
Зарегистрирован: 06 Ноябрь 2014, 12:48

Отправить XML-файл через POST с параметрами

Сообщение finsoftrz » 22 Ноябрь 2019, 10:50

Игорь Столяров писал(а):
22 Ноябрь 2019, 10:37
finsoftrz писал(а):
22 Ноябрь 2019, 10:27
когда ходишь и на фонарики улыбаешься.
Наверно вопрос привычки, но лично мне как-то комфортней работать с методами и классами, а не командной строкой.
Если же говорить конкретно о LibCurl - то это пожалуй одна из наиболее простых и безглючных библиотек под Clarion. :)
Какая разница? В libcurl объектная обвязка для библиотеки, с таким же успехом можно сделать обвязку для вызова командной строки. Исполняемый файл в винде практически то же самое, что и dll, отличается заголовком. Разница в создании временных файлов, но винда их тоже создает и удаляет в большом количстве, это штатный режим работы. Если файлик небольшой, то не факт, что он будет даже записан физически на диск в период своей жизни. При работе с экзешником нет шансов наткнуться на грабли и полно примеров в сети, как что сделать. В отличии от библиотеки, работающих с которой из клариона можно по пальцам рук посчитать.
Рязань решает.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Отправить XML-файл через POST с параметрами

Сообщение Игорь Столяров » 22 Ноябрь 2019, 11:19

- Запуск EXE приложения - это каждый раз его загрузка и старт. DLL загружается один раз при запуске приложения и далее используется.
- Классы для Clarion - это всего лишь обвязка для интерфейса, сама же LibCurl достаточно популярна и много примеров на том же С/Java.

Хотя действительно, я часто смотрел примеры для командной строки и переписывал их под LibCurl - там всё просто.
С запуском внешнего приложения все хорошо, когда юзается пакетный обмен. Т.е. запрос -> отправка пакета -> ответ.

Более сложные схемы, когда после подключения к сервису программа должна принимать какие-то решения в зависимости
от его ответа - уже не так просты в реализации через командные файлы, хотя конечно же возможны.
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1393
Зарегистрирован: 06 Ноябрь 2014, 12:48

Отправить XML-файл через POST с параметрами

Сообщение finsoftrz » 22 Ноябрь 2019, 11:50

Exe тоже кэшируется в оперативной памяти. Разница в скорости мало заметна на восприятие пользователя. У меня был опыт, когда подключаешь вроде бы распространенную внешнюю библиотеку, а приложение начинает валиться в gpf на ровном метсе. И это трудно воспроизвести у себя. Использование exe - это развязка, исключающая такие ситуации. Просто надо научиться вызывать exe как процесс, чтобы контролировать его работу из своего приложения. Мне понравилось, что это работает 100% без сюрпризов. А с точки зрения нашего приложения минимум кода, все убрано в класс. Если устраивает работа через exe для решения конкретных задач, то я использую его. Если возникнет ситуация, когда лучше работать через линковку с внешней библиотекой, посмотрю в эту сторону. Пока такой потребности не возникало.
Рязань решает.

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 909
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

Отправить XML-файл через POST с параметрами

Сообщение RaFaeL » 22 Ноябрь 2019, 11:54

finsoftrz писал(а):
22 Ноябрь 2019, 10:50
В отличии от библиотеки, работающих с которой из клариона можно по пальцам рук посчитать.
Вы бы на гитхабе посмотрели, сколько человек с ней работают )) Россия не весь мир
Но костыли лучше, несомненно )

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1393
Зарегистрирован: 06 Ноябрь 2014, 12:48

Отправить XML-файл через POST с параметрами

Сообщение finsoftrz » 22 Ноябрь 2019, 12:33

Ну и сколько, если не сложно озвучить?
Хороший костыль такой, у которого миллионы пользователей. :-)
Рязань решает.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Отправить XML-файл через POST с параметрами

Сообщение Игорь Столяров » 22 Ноябрь 2019, 12:40

finsoftrz писал(а):
22 Ноябрь 2019, 11:50
Пока такой потребности не возникало.
Безусловно, если есть уже отстроенный процесс и наработанные технологии - вряд ли стоит их переделывать.
Тут ведь спрашивали с чего начать, и если ничего нет … то наверно лучше сразу пробовать DLL. Как-то так. :)

По тому с чем я сталкивался (и это объясняет популярность CURL.EXE) - это когда нужно прикрутить обмен
к какой-нибудь существующей программе, но нет желания или возможности её переделывать или той же 1С
(см. "кирпич" в первом сообщении) - проще и понятней уж действительно через запуск EXE.

И Вы правильно сказали, запуск EXE - это разумная изоляция процессов обмена. Любой перекос в DLL ведёт
к краху всего приложения, а для EXE просто перекосит обмен, но программа будет работать. Здесь всё верно. :)
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1393
Зарегистрирован: 06 Ноябрь 2014, 12:48

Отправить XML-файл через POST с параметрами

Сообщение finsoftrz » 22 Ноябрь 2019, 12:50

Как говорил товарищ Сталин, "можно и так".
Автор вопроса мог бы ничего не спрашивать, а набрать в гугле фразу "curl отправить xml файл". И вопрос был бы решен за несколько минут.
Рязань решает.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Отправить XML-файл через POST с параметрами

Сообщение Игорь Столяров » 22 Ноябрь 2019, 12:58

finsoftrz писал(а):
22 Ноябрь 2019, 12:50
набрать в гугле фразу "curl отправить xml файл"
Для кларионщика этот путь не приемлем в принципе ! Нужен код, а лучше сразу шаблон ! :)
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1393
Зарегистрирован: 06 Ноябрь 2014, 12:48

Отправить XML-файл через POST с параметрами

Сообщение finsoftrz » 22 Ноябрь 2019, 13:12

Кстати, я пропустил, в клариной обертке LibCurl есть колбэк? То есть, если процесс обращения к серверу завис или долгий, может пользователь кнопкой в приложении прервать его выполнение? Что-то про это писали, не заострил внимание.
Рязань решает.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Отправить XML-файл через POST с параметрами

Сообщение Игорь Столяров » 22 Ноябрь 2019, 13:27

finsoftrz писал(а):
22 Ноябрь 2019, 13:12
в клариной обертке LibCurl есть колбэк?
Есть. Но я его юзаю для того, что бы прикрутить индикатор выполнения процесса в программе. :)
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1393
Зарегистрирован: 06 Ноябрь 2014, 12:48

Отправить XML-файл через POST с параметрами

Сообщение finsoftrz » 22 Ноябрь 2019, 13:33

Популярность CURL.EXE связана с тем, что его могут использовать не только программисты, но и обычные пользователи. И он появился гораздо раньше, чем открыли интерефейс к dll. Причем CURL.EXE поначалу, насколько помню, работал на юниксовых системах, и только потом его портировали на винду. В юниксовых системах концепция микроприложений, там, по моему, вообще понятия dll нет.
Рязань решает.

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1393
Зарегистрирован: 06 Ноябрь 2014, 12:48

Отправить XML-файл через POST с параметрами

Сообщение finsoftrz » 22 Ноябрь 2019, 13:43

Игорь Столяров писал(а):
22 Ноябрь 2019, 13:27
finsoftrz писал(а):
22 Ноябрь 2019, 13:12
в клариной обертке LibCurl есть колбэк?
Есть. Но я его юзаю для того, что бы прикрутить индикатор выполнения процесса в программе. :)
Это хорошо. Я тоже вывожу индикатор выполнения после запуска любого exe. А также стандартно возможность активации кнопки прерывания через заданное количество времени или время для автоматического прерывания.
Рязань решает.

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4323
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Отправить XML-файл через POST с параметрами

Сообщение Игорь Столяров » 22 Ноябрь 2019, 15:21

finsoftrz писал(а):
22 Ноябрь 2019, 13:33
не только программисты, но и обычные пользователи
Я же о них и говорил.
Обычный пользователь, который знает тайну открытия (или ниличия) конфигурации - просит называть себя программистом 1С … :)
«V» значит Вендетта !

Аватара пользователя
RaFaeL
Ветеран
Сообщения: 909
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

Отправить XML-файл через POST с параметрами

Сообщение RaFaeL » 22 Ноябрь 2019, 16:46

finsoftrz писал(а):
22 Ноябрь 2019, 12:33
Хороший костыль такой, у которого миллионы пользователей.
А у libcurl не миллионы? Это же одно и то же. Одни и те же функции вызываются либо через exe, либо напрямую. Зачем эта прокладка в виде exe? Она просто не нужна, это костыль по определению
finsoftrz писал(а):
22 Ноябрь 2019, 12:33
Причем CURL.EXE поначалу, насколько помню, работал на юниксовых системах, и только потом его портировали на винду. В юниксовых системах концепция микроприложений, там, по моему, вообще понятия dll нет.
Вот это новости )) А exe на юниксовых системах давно появился? ))

Все с точностью до наоборот. Есть libcurl для всего, и для винды есть curl.exe как чисто виндовый интерфейс всего этого

Ответить