Найти - Пользователи
Полная версия: Запрос из PHP перенести в python
Начало » Python для новичков » Запрос из PHP перенести в python
1 2
Dmitry2020
Здравствуйте уважаемые форумчане! Прошу помощи в решении задачи. Есть функция отправки 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 ошибку, в хидеры пытался тоже запихнуть, та же ерунда получается, буду благодарен за помощь.
py.user.next
[code python]Здесь пиши код[/code]

https://docs.python-requests.org/en/latest/user/quickstart/

Укажи все поля POST-запроса, не только apikey.
Dmitry2020
py.user.next
https://docs.python-requests.org/en/latest/user/quickstart/

Укажи все поля POST-запроса, не только apikey.
Дело в том, что это api одной конторы и в документации кроме api_key ничего не указано, примеры запросов у них только на php.
Rodegast
> data = {'apikey': ‘Здесь кей’'}

data = {
"apikey": "Здесь кей",
"task_type": "file",
"engines": "avast,bitdef,nod32,fortinet,trend"
}
Dmitry2020
Rodegast
data = {
“apikey”: “Здесь кей”,
“task_type”: “file”,
“engines”: “avast,bitdef,nod32,fortinet,trend”
}
Прошу прощение , что ввел вас в заблуждение не много, task_type,engines не обязатетельные аргументы.
Rodegast
> Но авторизация не проходит, получаю 404 ошибку, в хидеры пытался тоже запихнуть, та же ерунда получается

На PHP авторизуется?
Dmitry2020
Rodegast
На PHP авторизуется?
Не пробовал честно говоря, но их саппорт утверждает, что это рабочий пример.
Rodegast
Попробуй так:
 requests.post(url, json=data, headers={"Content-Type": "multipart/form-data"})
Dmitry2020
Rodegast
Попробуй так:

requests.post(url, json=data, headers={“Content-Type”: “multipart/form-data”})
К сожалению тоже самое.
xam1816
Dmitry2020
Дело в том, что это api одной конторы и в документации кроме api_key ничего не указано, примеры запросов у них только на php.

киньте ссылку на документацию
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB