Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
525 views
in Technique[技术] by (71.8m points)

api - Base64 Authentication Python

I'm following an api and I need to use a Base64 authentication of my User Id and password.

'User ID and Password need to both be concatenated and then Base64 encoded'

it then shows the example

'userid:password'

It then proceeds to say 'Provide the encoded value in an "Authorization Header"'

'for example: Authorization: BASIC {Base64-encoded value}'

How do I write this into a python api request?

z = requests.post(url, data=zdata )

Thanks

question from:https://stackoverflow.com/questions/18139093/base64-authentication-python

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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 HTTPBasicAuth
r = 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'

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...