Base64 Authentication Python
The requests library has Basic Auth support and will encode it for you automatically. You can test it out by running the following in a python repl
from requests.auth import HTTPBasicAuthr = requests.post(api_URL, auth=HTTPBasicAuth('user', 'pass'), data=payload)
You can confirm this encoding by typing the following.
r.request.headers['Authorization']
outputs:
u'Basic c2RhZG1pbmlzdHJhdG9yOiFTRG0wMDY4'
You can encode the data and make the request by doing the following:
import requests, base64usrPass = "userid:password"b64Val = base64.b64encode(usrPass)r=requests.post(api_URL, headers={"Authorization": "Basic %s" % b64Val}, data=payload)
I'm not sure if you've to add the "BASIC" word in the Authorization field or not. If you provide the API link, It'd be more clear.
With python3, I have found a solution which is working for me:
import base64userpass = username + ':' + passwordencoded_u = base64.b64encode(userpass.encode()).decode()headers = {"Authorization" : "Basic %s" % encoded_u}