有一个登录接口,请求参数是通过des加密过的,我使用python的request库发送了请求,但是服务端提示解密失败,我通过postman请求接口(使用的是一样的加密后的请求内容)是可以成功返回的.服务端查了原因是我python发送的payload值被双”给引起来了所以服务端解析失败,请问大家python怎么才能发送不带双引号的值;
服务器收到的payload:
python发送:
"260f848e3b00cca5670cda92e2c4dcfb566877b29c88422e6efea445fea1dbdf1b6319b4848ce291107992170ea08b17343ec09a6260d7b83b9ebc33ebd5be27b0bbbce2d5e8ead92dbadb86a0433300db1773ed0d040172842b45417e6fcaa21b4237e85a3b0d0b5cd33f083ed31c760a204647bfa9c1d39904d8722fddf64608cfa0981f14e10c"
postman发送(无引号):
260f848e3b00cca5670cda92e2c4dcfb566877b29c88422e6efea445fea1dbdf1b6319b4848ce291107992170ea08b17343ec09a6260d7b83b9ebc33ebd5be27b0bbbce2d5e8ead92dbadb86a0433300db1773ed0d040172842b45417e6fcaa21b4237e85a3b0d0b5cd33f083ed31c760a204647bfa9c1d39904d8722fddf64608cfa0981f14e10c
def des_encrypt(value, secret_key, iv_key):
#加密
cipher = init_cipher(secret_key, iv_key)
buffer = value.encode(encoding="utf-8")
buffer = cipher.encrypt(buffer)
print("...................")
print(type(buffer.hex())) #---》str
print("...................")
return buffer.hex() # 使用hex格式输出
payload={"username":"aaa","password":"123456"}
#写成payload='加密后内容'也不行
res=requests.post(url=url,json=des_encrypt(json.dumps(payload))) #----》服务器解析不了payload
postman是正常的