Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 0
Регистрация: 24.02.2017
Сообщений: 140

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

08.09.2022, 11:39. Показов 474. Ответов 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 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru