3 / 3 / 0
Регистрация: 24.02.2017
Сообщений: 140

Как правильно преобразовать аргументы для метода post модуля requests в C++

08.09.2022, 11:39. Показов 478. Ответов 0

Студворк — интернет-сервис помощи студентам
Пытаюсь использовать питоновский модуль requests в коде c++ чтобы отправлять post/get запросы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define PY_SSIZE_T_CLEAN
#include <Python.h>
 
int main()
{
    PyObject * pName, * pModule, * pFunc;
    PyObject * pArgs, * pValue;
 
    Py_Initialize();
    pName = PyUnicode_DecodeFSDefault("requests"); 
 
    pModule = PyImport_Import(pName); // получаю модуль
    Py_DECREF(pName);
 
    if (pModule != NULL)
    {
          pFunc = PyObject_GetAttrString(pModule, "post"); // получаю метод
А дальше возникает два вопроса:

1. Как этот метод вызывать? Есть несколько функций для этих целей:

C++
1
PyObject_CallObject/PyObject_CallFunction/PyObject_CallMethod/PyObject_CallFunctionObjArgs/PyObject_CallMethodObjArgs
2. Как преобразовать аргументы для вызова этих функций из типов данных C++ в типы для аргументов питона. Если, к примеру в питое запрос выглядит так:

Python
1
2
3
4
5
6
7
8
9
10
11
import requests
myurl = 'http://any.com/uploadImage'
headers = {'KEY': 'NUMBER'}
body = {
    'imageid': '8802',
    'file_type': 'img'
}
 
file = [('file', ('test1.png', open('test1.png', 'rb'), 'image/png'))]
 
getdata = requests.post(myurl, headers=headers, files=file, data=body, timeout=10)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.09.2022, 11:39
Ответы с готовыми решениями:

Как правильно преобразовать параметр метода?
Здравствуйте. Есть базовый класс (BaseSystem) для всех систем, к примеру (SomeSystem). На старте я хочу все системы добавлять в контейнер...

Как сделать чтоб аргументы метода пользователь вводил с консоли а не в скобках метода во внешнем коде?
доброго времени суток!!! Помогите плиз!!! как сделать чтоб аргументы метода пользователь вводил с консоли а не в скобках метода во...

Post запрос для формы с через requests
Народ, подскажите пожалуйста Нужно сделать пост-запрос посредством библиотеки requests(желательно) для этой формы перед этим...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.09.2022, 11:39
Помогаю со студенческими работами здесь

Невозможно передать ArrayList в аргументы метода без модификатора static у этого метода или метода main
Крч, хочу передать экземпляр класса ArrayList в метод, но ide говорит, что нельзя это сделать, пока сам метод или main не будут в...

Requests: Как передать в post запрос request payload данные
Хочу получить ответ на post запрос. В запросе есть (см. вложение) request payload dataraw={ &quot;take&quot;: &quot;40&quot;, ...

Аргументы для метода WriteTo из LINQ to XML
Добрый день! Подскажите пожалуйста.Нужно записать вместо &quot;...&quot; - новый аргумент,как правильно сделать? Возможно глупый вопрос - извините...

Как вывести аргументы метода по отдельности?
class Program { static int Calculate(int A,int B,int C) { return A/5; return B/5; ...

Аргументы шаблонного метода как объекты
Не могу решить одну задачу. вот три класса class win {}; class obj1 {}; class obj2 {};


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru