Member 13740197 Ответов: 1

Как поймать коды ошибок curl с помощью системной функции в QT


Привет,

Я работаю над попаданием API с помощью системной функции, которая показана ниже.
Я работаю с Qt в среде Linux.

рэт = системы("локон -М 60-заголовок \"тип контента:приложение/JSON\" - сведения о @/корень/запрос.MYURL -вывода в JSON /корень/ответ.в JSON");

Здесь система возвращает только 0 или -1, но я хочу поймать коды ошибок curl.
Пример :
6 не смог разрешить хост. Данный удаленный хост не был разрешен.
7 не удалось подключиться к хосту.
28 тайм-аут операции. Указанный тайм-аут был достигнут в соответствии с условиями.

и т.д..


Так что, пожалуйста, помогите мне, как прочитать эту ошибку из системной функции.

Что я уже пробовал:

рэт = системы("локон -М 60-заголовок \"тип контента:приложение/JSON\" - сведения о @/корень/запрос.MYURL -вывода в JSON /корень/ответ.в JSON");

1 Ответов

Рейтинг:
12

Richard MacCutchan

Вы не можете сделать это от звонка до звонка. система(3) - Страница руководства Linux[^] . Вам нужно отправить вывод curl в файл, а затем прочитать его, когда команда будет завершена.


Member 13740197

Я уже отправил выходные данные в файл /root/response.json. Но этот файл пуст, когда ошибка curl составляет 6 и 28 случаев. Но мое требование-прочитать эти номера ошибок.

Richard MacCutchan

Вам нужно перенаправить вывод ошибок (stderr) в файл. Вы можете проверить это довольно легко, выполнив полную команду в окне терминала.

Member 13740197

Спасибо за ответ