从PHP登录到Python的Url

2024-04-23 11:19:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python非常陌生,我正在使用一个API,它最近启动了必需的url签名。有人告诉我,在PHP中,对url进行签名的代码如下所示:

function signUrl($url, $post = null)
{
if ($post !== null) { ksort($post); }
return md5(YourSecretApiKey . $url . ($post === null ? '' : implode(',', $post)));
}

如何在Python中执行此操作?你知道吗

这是我的Python代码:

import wykop

appkey = 'KEY'
secretkey = 'KEYa'

api = wykop.WykopAPI(appkey)
profile = api.get_profile("m__b")
print api.get_profile("m__b")

我得到一个错误:

wykop.InvalidAPISignError

Tags: 代码apiurlgetiffunctionprofilepost
1条回答
网友
1楼 · 发布于 2024-04-23 11:19:16

下面是PHP代码的Python版本

import hashlib
# Ready for md5

def signUrl(url, post=None):

  # Set default. Empty for not provided
  post_string = ''

  if post is not None:

    # Dictionary in Python does not maintain order 
    # Sort it manually with a for loop instead
    post = [post[k] for k in sorted(post.keys())]

    post_string = ','.join(post)
    # PHP implode

  return hashlib.md5(YourSecretApiKey + url + post_string).hexdigest()

相关问题 更多 >