Форум сайта python.su
Здравствуйте уважаемые форумчане! Прошу помощи в решении задачи. Есть функция отправки POST запроса написанная на PHP, ее нужно транслировать в requests.
Собственно код PHP:
<?php
$apiKey = ‘ Здесь кей’;
$url = ‘Здесь урл’;
$post = [
‘apikey’ => $apiKey,
‘task_type’ => ‘file’, // file, domain
‘engines’ => ‘avast,bitdef,nod32,fortinet,trend’,
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$r = curl_exec($ch);
$error = curl_error($ch);
$info = curl_getinfo($ch);
curl_close($ch);
Вот моя версия requests:
data = {'apikey': ‘Здесь кей’'}
requests.post('Здесь урл', data=data)
Но авторизация не проходит, получаю 404 ошибку, в хидеры пытался тоже запихнуть, та же ерунда получается, буду благодарен за помощь.
Отредактировано Dmitry2020 (Май 12, 2022 15:30:19)
Офлайн
[code python]Здесь пиши код[/code]
Офлайн
py.user.nextДело в том, что это api одной конторы и в документации кроме api_key ничего не указано, примеры запросов у них только на php.
https://docs.python-requests.org/en/latest/user/quickstart/
Укажи все поля POST-запроса, не только apikey.
Офлайн
> data = {'apikey': ‘Здесь кей’'}
data = {
"apikey": "Здесь кей",
"task_type": "file",
"engines": "avast,bitdef,nod32,fortinet,trend"
}
Отредактировано Rodegast (Май 12, 2022 19:31:56)
Офлайн
RodegastПрошу прощение , что ввел вас в заблуждение не много, task_type,engines не обязатетельные аргументы.
data = {
“apikey”: “Здесь кей”,
“task_type”: “file”,
“engines”: “avast,bitdef,nod32,fortinet,trend”
}
Офлайн
> Но авторизация не проходит, получаю 404 ошибку, в хидеры пытался тоже запихнуть, та же ерунда получается
На PHP авторизуется?
Офлайн
RodegastНе пробовал честно говоря, но их саппорт утверждает, что это рабочий пример.
На PHP авторизуется?
Офлайн
Попробуй так:
requests.post(url, json=data, headers={"Content-Type": "multipart/form-data"})
Офлайн
RodegastК сожалению тоже самое.
Попробуй так:
requests.post(url, json=data, headers={“Content-Type”: “multipart/form-data”})
Офлайн
Dmitry2020
Дело в том, что это api одной конторы и в документации кроме api_key ничего не указано, примеры запросов у них только на php.
Офлайн