gpt4 book ai didi

python-3.x - Marvel API 调用中的哈希、时间戳和键组合无效

转载 作者:行者123 更新时间:2023-12-02 00:57:15 25 4
gpt4 key购买 nike

我正在尝试形成一个 Marvel API 调用。

这是授权链接:
https://developer.marvel.com/documentation/authorization

我正在尝试创建服务器端应用程序,因此根据上面的链接,我需要时间戳、apikey 和哈希 url 参数。散列需要是以下形式的 md5 散列:md5(timestamp + privateKey + publicKey) 并且 apikey url 参数是我的公钥。

这是我的代码,我在 Python 3 中发出请求,使用请求库来形成请求,使用时间库来形成时间戳,以及使用 hashlib 库来形成哈希。

#request.py: making a http request to marvel api

import requests;
import time;
import hashlib;


#timestamp
ts = time.time();
ts_str = str(float(ts));


#keys
public_key = 'a3c785ecc50aa21b134fca1391903926';
private_key = 'my_private_key';

#hash and encodings
m_hash = hashlib.md5();
ts_str_byte = bytes(ts_str, 'utf-8');
private_key_byte = bytes(private_key, 'utf-8');
public_key_byte = bytes(public_key, 'utf-8');
m_hash.update(ts_str_byte + private_key_byte + public_key_byte);
m_hash_str = str(m_hash.digest());


#all request parameters
payload = {'ts': ts_str, 'apikey': 'a3c785ecc50aa21b134fca1391903926', 'hash': m_hash_str};


#make request
r = requests.get('https://gateway.marvel.com:443/v1/public/characters', params=payload);


#for debugging
print(r.url);
print(r.json());

这是输出:

enter image description here

我不确定究竟是什么导致组合无效。

我可以应要求提供更多信息。任何信息,将不胜感激。谢谢!

编辑:

总的来说,我对 API 调用有点陌生。是否有任何资源可以更多地了解如何执行它们?到目前为止,以我有限的经验,它们似乎非常具体,让每个人工作都需要一段时间。我是一名大学生,每当我参加黑客马拉松时,我都需要很长时间才能弄清楚如何执行 API 调用。我承认我没有经验,但总的来说,找出新的 API 是否需要很大的学习曲线,即使对于已经完成 10 个左右的人也是如此?

再次感谢您的时间:)

最佳答案

我注意到在你的终端中你的 MD5 哈希是大写的。 MD5 应以小写形式输出。确保你转换成那个。

那是我的问题,我正在发送一个大写的哈希值。

关于python-3.x - Marvel API 调用中的哈希、时间戳和键组合无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53356636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com