我最近在这里发布了一个问题,现在需要另外一个答案,基于需要根据额外的参数进行的更改。
之前我有以下内容给了我一个正确的签名。
signature = hashlib.sha1("i=myusername&v=%s&t=7087db23de5ef07b5723" % timestamp)
现在我需要在%3D 代表 =
问题是,只需添加下面的字符串,django正在寻找另一个值。&p=myvar%3Dmyvalue
我尝试了几个版本,似乎每次都得到错误的值。 签名不是我的力量,谢谢你的帮助。
signature = hashlib.sha1(u'i=myusername&p=myvar%s%s&v=%s&t=7087db23de5ef07b5723' % ('%3D', myvalue, timestamp))
答案 0 :(得分:3)
在格式字符串中使用%%
获取%
符号
'&p=myvar%%3D%s' % 'value'
我希望我理解你。
您也可以使用urllib.urlencode
>>>urllib.urlencode({'i':'fundedbyme', 'p':'myvar=%s' % myvalue})
'i=fundedbyme&p=myvar%3Dmyvalue'