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

Clarion, Clarion 7

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

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

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

Сообщение Игорь Столяров »

finsoftrz писал(а): 22 Ноябрь 2019, 10:27когда ходишь и на фонарики улыбаешься.
Наверно вопрос привычки, но лично мне как-то комфортней работать с методами и классами, а не командной строкой.
Если же говорить конкретно о LibCurl - то это пожалуй одна из наиболее простых и безглючных библиотек под Clarion. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Игорь Столяров писал(а): 22 Ноябрь 2019, 10:37
finsoftrz писал(а): 22 Ноябрь 2019, 10:27когда ходишь и на фонарики улыбаешься.
Наверно вопрос привычки, но лично мне как-то комфортней работать с методами и классами, а не командной строкой.
Если же говорить конкретно о LibCurl - то это пожалуй одна из наиболее простых и безглючных библиотек под Clarion. :)
Какая разница? В libcurl объектная обвязка для библиотеки, с таким же успехом можно сделать обвязку для вызова командной строки. Исполняемый файл в винде практически то же самое, что и dll, отличается заголовком. Разница в создании временных файлов, но винда их тоже создает и удаляет в большом количстве, это штатный режим работы. Если файлик небольшой, то не факт, что он будет даже записан физически на диск в период своей жизни. При работе с экзешником нет шансов наткнуться на грабли и полно примеров в сети, как что сделать. В отличии от библиотеки, работающих с которой из клариона можно по пальцам рук посчитать.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

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

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

Более сложные схемы, когда после подключения к сервису программа должна принимать какие-то решения в зависимости
от его ответа - уже не так просты в реализации через командные файлы, хотя конечно же возможны.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Exe тоже кэшируется в оперативной памяти. Разница в скорости мало заметна на восприятие пользователя. У меня был опыт, когда подключаешь вроде бы распространенную внешнюю библиотеку, а приложение начинает валиться в gpf на ровном метсе. И это трудно воспроизвести у себя. Использование exe - это развязка, исключающая такие ситуации. Просто надо научиться вызывать exe как процесс, чтобы контролировать его работу из своего приложения. Мне понравилось, что это работает 100% без сюрпризов. А с точки зрения нашего приложения минимум кода, все убрано в класс. Если устраивает работа через exe для решения конкретных задач, то я использую его. Если возникнет ситуация, когда лучше работать через линковку с внешней библиотекой, посмотрю в эту сторону. Пока такой потребности не возникало.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение RaFaeL »

finsoftrz писал(а): 22 Ноябрь 2019, 10:50 В отличии от библиотеки, работающих с которой из клариона можно по пальцам рук посчитать.
Вы бы на гитхабе посмотрели, сколько человек с ней работают )) Россия не весь мир
Но костыли лучше, несомненно )
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Ну и сколько, если не сложно озвучить?
Хороший костыль такой, у которого миллионы пользователей. :-)
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

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

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

И Вы правильно сказали, запуск EXE - это разумная изоляция процессов обмена. Любой перекос в DLL ведёт
к краху всего приложения, а для EXE просто перекосит обмен, но программа будет работать. Здесь всё верно. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Как говорил товарищ Сталин, "можно и так".
Автор вопроса мог бы ничего не спрашивать, а набрать в гугле фразу "curl отправить xml файл". И вопрос был бы решен за несколько минут.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

finsoftrz писал(а): 22 Ноябрь 2019, 12:50набрать в гугле фразу "curl отправить xml файл"
Для кларионщика этот путь не приемлем в принципе ! Нужен код, а лучше сразу шаблон ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Кстати, я пропустил, в клариной обертке LibCurl есть колбэк? То есть, если процесс обращения к серверу завис или долгий, может пользователь кнопкой в приложении прервать его выполнение? Что-то про это писали, не заострил внимание.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

finsoftrz писал(а): 22 Ноябрь 2019, 13:12в клариной обертке LibCurl есть колбэк?
Есть. Но я его юзаю для того, что бы прикрутить индикатор выполнения процесса в программе. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Популярность CURL.EXE связана с тем, что его могут использовать не только программисты, но и обычные пользователи. И он появился гораздо раньше, чем открыли интерефейс к dll. Причем CURL.EXE поначалу, насколько помню, работал на юниксовых системах, и только потом его портировали на винду. В юниксовых системах концепция микроприложений, там, по моему, вообще понятия dll нет.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Игорь Столяров писал(а): 22 Ноябрь 2019, 13:27
finsoftrz писал(а): 22 Ноябрь 2019, 13:12в клариной обертке LibCurl есть колбэк?
Есть. Но я его юзаю для того, что бы прикрутить индикатор выполнения процесса в программе. :)
Это хорошо. Я тоже вывожу индикатор выполнения после запуска любого exe. А также стандартно возможность активации кнопки прерывания через заданное количество времени или время для автоматического прерывания.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

finsoftrz писал(а): 22 Ноябрь 2019, 13:33не только программисты, но и обычные пользователи
Я же о них и говорил.
Обычный пользователь, который знает тайну открытия (или ниличия) конфигурации - просит называть себя программистом 1С … :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение RaFaeL »

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

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