topwebmaster
@topwebmaster
Веб-программист, django, laravel, php, python

Чем заменить php cURL в python для работы с API?

Как такое написать на python:
<?php

// Server credentials
$vst_hostname = 'server.vestacp.com';
$vst_username = 'admin';
$vst_password = 'p4ssw0rd';
$vst_returncode = 'yes';
$vst_command = 'v-add-user';

// New Account
$username = 'demo';
$password = 'd3m0p4ssw0rd';
$email = 'demo@gmail.com';
$package = 'default';
$fist_name = 'Rust';
$last_name = 'Cohle';

// Prepare POST query
$postvars = array(
    'user' => $vst_username,
    'password' => $vst_password,
    'returncode' => $vst_returncode,
    'cmd' => $vst_command,
    'arg1' => $username,
    'arg2' => $password,
    'arg3' => $email,
    'arg4' => $package,
    'arg5' => $fist_name,
    'arg6' => $last_name
);
$postdata = http_build_query($postvars);

// Send POST query via cURL
$postdata = http_build_query($postvars);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://' . $vst_hostname . ':8083/api/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
$answer = curl_exec($curl);

// Check result
if($answer == 0) {
    echo "User account has been successfuly created\n";
} else {
    echo "Query returned error code: " .$answer. "\n";
}
?>

?
Использую модуль requests, но авторизоваться не получается.
P.S.: работаю с api Vesta CP
  • Вопрос задан
  • 7342 просмотра
Решения вопроса 3
sim3x
@sim3x
Твой код на питоне в студию

r = requests.get('https://api.github.com', auth=('user', 'pass'))
>>> r.status_code
204
Ответ написан
@deliro
import requests
params = {
    'arg1': 'demo',
    'arg2': 'password',
    'arg3': 'demo@gmail.com',
    # И так далее.
}
auth = ('admin', 'p4ssw0rd')
url = 'https://server.vestacp.com:8083/api/'
r = requests.post(url, params=params, auth=auth)
if r.text == 0:
    print('OK')
else:
    print('Error code: %s' % r.text)
Ответ написан
Sheregeda
@Sheregeda
always be coding
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы