2016-12-26 25 views
0

我使用pyDes创建一个令牌添加到我的请求的标题(我使用requests库)。无法理解被操作的字节

{'token': pyDes.triple_des(auth_secret_key).encrypt(auth_message, padmode=2)}

token's值的输出是b')\x8d\xa85\xe0;F\x81\xaeL3d\x86\x9eF\xf7'。我将这个键/值对添加到我的请求标题中。但在服务器端,当我检查请求的标题时,该值将更改为b')\xc2\x8d\xc2\xa85\xc3\xa0;F\xc2\x81\xc2\xaeL3d\xc2\x86\xc2\x9eF\xc3\xb7'。我注意到在与\分开的字节之间有xc2。是什么原因?

+1

处理Internet上的原始二进制数据通常是一个问题。尝试在发送之前将数据编码为base64格式,然后在接收时将其解码。 –

+0

@AlexHall当然,tnx – Juggernaut

回答

0

编码令牌到base64解决了这个问题。

import base64 
base64.b64encode(bytes(token, encoding='utf-8'))