В библиотеке запросов Python, не можете сделать авторизацию?

Я пытаюсь написать этот код на Python:
http://vestacp.com/docs/api/#add_user

как это:
http://pastebin.com/XdzKKZpg

но я не могу разрешить

0

Решение

В вашей последней строке, auth отсутствует=‘ знак:

req = r.post(vst_hostname, auth(vst_username, vst_hostname), \
params=postvars, verify=False)

Увидеть раздел аутентификации в requests документация для дополнительной информации.

1

Другие решения

Когда вы делаете

r.post(vst_hostname, auth(vst_username, vst_hostname), params=postvars, verify=False)

Вы делаете эквивалент

r.post(vst_hostname, data=auth(vst_username, vst_hostname), params=postvars, verify=False)

И ты хочешь делать

r.post(vst_hostname, auth=auth(vst_username, vst_hostname), params=postvars, verify=False)

Кроме того, вы можете упростить это. Вам не нужно явно говорить HTTPBasicAuth(vst_username, vst_hostname)вместо этого вы можете просто передать кортеж так:

r.post(vst_hostname, auth=(vst_username, vst_hostname), params=postvars, verify=False)

Я также не знаком с тем, как работает этот код PHP, так что вы хотите знать, что params=postvars создает параметры строки запроса, так что это будет так же, как делать POST в

https://188.188.188.88/api?cmd=v-add-user&arg1=...&arg2=...

Если вместо этого эти данные должны быть в тело запроса, который вы хотите сделать:

r.post(vst_hostname, auth=(vst_username, vst_hostname), data=postvars, verify=False)
0

По вопросам рекламы [email protected]