如何从POST请求中获取auth参数?

时间:2019-10-17 03:01:42

标签: python django python-requests

我正在向自己发送POST请求:

requests.post("http://localhost:8000/api/", json=data, auth=('myuser', 'mypwd'))

我正在使用Django来接收POST请求。我想验证用户名和密码是否与我的密码匹配。

def myAPI(request)
    if request.method == 'POST':

          # obtain username and password here

如何获取纯文本的用户名和密码?我已经尝试过request.body.decode()request.POST.items()request.META -只是找不到!我可以在data中发送凭据,这很容易。另外,我可以使用API​​密钥代替用户名和密码,但是我也不知道如何访问它。

1 个答案:

答案 0 :(得分:0)

这将为您工作:

req_header = request.META['HTTP_AUTHORIZATION']
credentials = auth_header.split(' ')[1]
base64_decoded_credentials = base64.b64decode(encoded_credentials)
decoded_utf_credentials = base64_decoded_credetials.decode("utf-8").split(':')
username = decoded_utf_credentials[0]
password = decoded_utf_credentials[1]