我最近在这里发布了一个问题,现在需要另一个基于需要根据额外参数完成的更改的答案。
以前我有以下给了我正确的签名。
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))
最佳答案
在格式字符串中使用%%
得到%
符号
'&p=myvar%%3D%s' % 'value'
希望我能理解你。
您也可以使用 urllib.urlencode
>>>urllib.urlencode({'i':'fundedbyme', 'p':'myvar=%s' % myvalue})
'i=fundedbyme&p=myvar%3Dmyvalue'
关于python - 带有一些额外值的 django 签名项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6292817/