[英]How do I write python code that handles URLError Exception for both py2 and py3
[英]Authentication line of python 2 code to py3
这是针对seomoz API的,下面是适用于python 2的代码:
return base64.b64encode(hmac.new(self.secret_key, toSign, hashlib.sha1).digest())
我尝试将其更改为类似这样的东西以使其与py3.5.1一起使用:
return (base64.b64encode(hmac.new(bytearray(self.secret_key, "utf-8"),
bytearray(toSign,"utf-8"), hashlib.sha1).digest())).decode("utf-8").replace("\n", "")
但是请继续从moz获取“身份验证失败”错误响应。 如果有帮助,这里是完整文件。
我尝试使用python 2.7和3.5的两个函数:secret_key =“ sss” toSign =“ toSign”
结果是:“ 7Zs94MRQfyNmonJhtgKT0QmHAcQ =”和“ 7Zs94MRQfyNmonJhtgKT0QmHAcQ =”
因此,也许toSign ='%s \\ n%i'%(self.access_id,expires)中的任何问题?
def signature(self, expires):
toSign = '%s\n%i' % (self.access_id, expires)
return base64.b64encode(hmac.new(self.secret_key, toSign, hashlib.sha1).digest())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.