Нужно при помощи «Executing External Processes» (groovy) сделать curl запросик.
Et cetera → Программирование
В общем надо мне выполнить get запрос к апишке и передать хэдэр где передаю токен свой. Сам курловый запрос работает, если выполнять в shell, но через груви никак, а мне оч. надо…
def command = "curl -L -H 'Authorization: Bearer ${some_token}' ${some_url}" def proc = command.execute() proc.waitFor() println "${proc.in.text}"
Я уже как только не пробовал и так
def command = ["curl", "-L", "-H", "Authorization:", "Bearer", "${some_token}", "${some_url}"]
и даже уже пробовал впихивать везде где не алфавитные символы код аски, думал вдруг это влияет, нифига, тупо не принимает токен, получаю 401 от урла вместо ответа. Причем этот же запрос сразу срабатывает в консоли, т.е. явно что-то недонастроил в груви… Может кто-то сталкивался с таким?
ps RESTClient не предлагать, я не могу его юзать там, где мне это нужно, не получается выполнить импорт…
…..все варианты скобок, кавычек уже перепробовал, принтом проверяю что идет на исполнение, даже копировал в оболочку и запускал. Работает гадина, только не через груви…
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Народ, вопрос немного меняется, в общем примерно в таком исполнении
у меня теперь не ругань на проблемы с авторизацией, а просто зависание.. Пробовал на разных машинах с новым и старым груви (2.4.8 и 3.0.5). На старой машинке пишет файлик groovyout.txt, оттуда видно, что есть 200й ответ от сайта… Но я так и не получаю содержимое…
А верхний ответ отсюда: https://stackoverflow.com/questions/159148/groovy-executing-shell-commands (со StringBuilder) не помогает?
PS. Вы запускаете процесс, (видимо через что-то типа popen), а потом не читаете вывод в процессе, только по завершению. Естественно процесс, если вывода много (больше где-то 4 килобайт, зависит от настроек ядра и опций запуска), залипнет в ожидании.
Сама команда curl из командной строки на той машине работает?
Добрый вечер! Вы абсолютно правы! Это действительно помогло. У меня и правда там «жирный» ответ приходит от апишки. Я даже натыкался на этот ответ, но увы, не от большого ума добавил этот пример без вывода ошибок и обломался… Вот сейчас на спокойную голову всё заработало. Спасибо! Пойду парсить вывод :)