Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 22.06.2019
Сообщений: 8
1

GLPI API. Загрузка файла на сервер GLPI

10.03.2020, 21:49. Показов 2241. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
День добрый!

- Имеется Сервер - Хелпдеск система GLPI (https://glpi-project.org/). GLPI имеет API
- Имеется клиент для GLPI, написанный на Python (Python 3.4, PyQt5, PyCharm 2018.3)

Необходимо научить клиент GLPI отправлять файлы на сервер GLPI.

При использовании Shell файлы отправляются без проблем:
Bash
1
2
3
4
5
6
curl -X POST \
-H 'Content-Type: multipart/form-data' \
-H "Session-Token: ${sessionToken}" \
-H "App-Token: ${appToken}" \
-F 'uploadManifest={"input": {"name": "Uploaded document", "_filename" : ["mail.png"]}};type=application/json' \
-F 'filename[0]=@/tmp/mail.png' "${glpiApiPath}/Document/"
При использовании Python при отправке возникает ошибка:
...
['ERROR_UPLOAD_FILE_TOO_BIG_POST_MAX_SIZE', 'The file seems too big']
...

При этом:

Настройки PHP на сервере:

cat /etc/opt/remi/php72/php.ini
...
post_max_size = 8M
upload_max_filesize = 2M
...

Размер загружаемого на сервер файл: 56 KByte

Пробовал отправлять файл, используя API GLPI с помощью Python, несколькими способами, например:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
headersPost = {'Content-Type': 'multipart/form-data',
                       'Session-Token': sessionToken,
                       'App-Token': appToken,
                       }
 
        files = {
            'uploadManifest': (None, '{"input": {"name": "Uploaded document", "_filename": ["mail.png"]}};type=application/json'),
            'filename[0]': ('mail.png', open('mail.png', 'rb')),
        }
 
        responseDocumentUpload = requests.post(glpiApiBaseUrl + '/Document/', headers=headersPost, files=files)
 
        documentUploadJson = responseDocumentUpload.json()
        print(documentUploadJson)
Результат тот же - ошибка.

Что я делаю не так? Как правильно использовать тип multipart/form-data в запросе requests для отправки файлов? CURL на SHELL используя этот тип отрабатывает ведь корректно.

Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2020, 21:49
Ответы с готовыми решениями:

GLPI
Помогите плиз. Такой вопрос, ставил на Ubuntu GLPI, агенты будут стоять на Win10, WIn10 находятся в...

Запуск GLPI
Здравствуйте. У меня проблема с запуском glpi. Не получается зайти в панель администрирования....

Glpi - вход
Здравствуйте, при входе в glpi в браузер вводится - ip/glpi. Необходимо сделать доступ просто по...

Установка GLPI
Здравствуйте! Суть проблемы: нужно поставить gpli. ОС - Windows. Поставил XAMPP, распаковал...

1
0 / 0 / 0
Регистрация: 22.06.2019
Сообщений: 8
14.03.2020, 15:51  [ТС] 2
up!
0
14.03.2020, 15:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2020, 15:51
Помогаю со студенческими работами здесь

Не могу подключиться к GLPI
Здравствуйте! Не могу подключиться к GLPI по адресу http://ip-address/glpi/. В чем может быть...

Скрипт для glpi
Всем привет! Есть такой запрос для glpi. UPDATE glpi_ticketvalidations, (SELECT DISTINCT...

GLPI аутентификация LDAP
Добрый день. У меня вопрос по настройке GLPI. Если конкретно, то я хочу импортировать данные уже...

Дублирование компьютеров в GLPI
GLPI+FI+агент на удаленных ПК как настроить правила, критерии и действиядля UPDATE и IMPORT в...

Запрос для glpi
Пытаюсь написать запрос обновления данных в таблице. Есть таблица glpi_validations, в нем есть ...

GLPI, FLAgent и SSL
Всем привет. Перенастроил я GLPI на HTTPS, привязал сертификаты, все вроде хорошо, но плагин...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru