我使用此代码编码user_name和密码并将其放入标题。
def login_as_user(self,user):
encode_login = base64.b64encode(bytes(str(user['email'] + ":" +user['password']),'utf8'))
headers = { Config.API_AUTHORIZATION:"Basic "+str(encode_login)}
response = requests.requestd("POST", self.url_path , data="", headers=headers)
return response
使用
user_name = test@test.com,password = 1。
当我将encode_login转换为str时,输出始终 b' dGVzdEB0ZXN0LmNvbTox' ,然后在转换为字符串时,它包含b'。这使我的标题在请求时出错。
请帮忙,我该如何解决?感谢。
答案 0 :(得分:2)
您可以使用UTF8
简单地将数据解码为decode()
。
例如,如果您的变量是:
a = b'dGVzdEB0ZXN0LmNvbTox'
# Or:
# a = a.decode('UTF8')
a = a.decode()
print(a)
输出:
>> 'dGVzdEB0ZXN0LmNvbTox'
否则,将打印:
base64.b64encode(bytes("hello", 'utf8')).decode()
>>> 'aGVsbG8='
因此,在您的问题中,您只需修改此行:
headers = { Config.API_AUTHORIZATION:"Basic " + str(encode_login)}
人:
headers = { Config.API_AUTHORIZATION:"Basic " + encode_login.decode()}