1
嗯,我希望這是一個你以前沒有看到的問題。非常奇怪的Python 3字節串錯誤
我這裏粘貼代碼:
import binascii
import urllib.request
import urllib.parse
client_id = '2da9e3d6414047c0000000000' # a made up string
client_secret = 'fe5f334a1cf240000000000' # a made up string
url = 'https://accounts.spotify.com/api/token'
data = {'grant_type':'client_credentials'}
data = urllib.parse.urlencode(data)
login = client_id + ':' + client_secret
encoded_login = binascii.b2a_base64(login.encode('ascii'))
encoded_login = encoded_login.decode('utf-8')
print(encoded_login) ## so you know it is a string indeed
headers = {'Authorization': 'Basic ' + encoded_login}
try:
req = urllib.request.Request(url, data.encode('ascii'), headers)
with urllib.request.urlopen(req) as response:
result = response.read()
except:
raise Exception('some failure')
我沒有改變任何東西讓每個人都能重現該問題。現在你可以看到encoded_login已經成功了一個字符串。但是如果你真的運行它,你應該得到'Basic'+ encoded_login作爲字節錯誤。
以下是錯誤我得到:
Invalid header value b'Basic MmRhOWUzZDY0MTQwNDdjMDAwMDAwMDAwMDpmZTVmMzM0YTFjZjI0MDAwMDAwMDAwMA==\n'
如何有趣,什麼叫神奇!字符串concat +已被轉換爲字節串聯。你回購這個,你能分享你的想法是什麼原因?
由於