所以我对 API 很陌生,但我正在尝试更多地练习它们。我的连接正常(200),但每当我尝试打印结果时,我都会收到此错误:
{"jsonrpc":"2.0","error":{"code":-32700,"message":"解析错误","data":null},"id":null}
这是我的代码,其中 api 密钥经过编辑:
url = 'https://api.random.org/json-rpc/1/invoke'
data = {'jsonrpc':'2.0','method':'generateIntegers','params': {'apiKey':'mykeygoeshere','n':10,'min':1,'max':10,'replacement':'true','base':10},'id':24565}
response = requests.get(url,data)
print(response.text)
如有任何帮助,我们将不胜感激
此代码适用于版本 2
import requests
import json
raw_data = {
"jsonrpc": "2.0",
"method": "generateIntegers", #random numbers will be integers
"params": {
"apiKey": "your-api-key",
"n": 6, # how many random numbers to generate
"min": 1, # min and max for the random integers, inclusive
"max": 6,
"replacement": True
},
'id':1
}
headers = {'Content-type': 'application/json','Content-Length': '200', 'Accept': 'application/json'}
data=json.dumps(raw_data)
response = requests.post(
url='https://api.random.org/json-rpc/2/invoke',
data=data,
headers=headers
)
print(response.text)
import requests
import json
url = 'https://api.random.org/json-rpc/1/invoke'
data = {'jsonrpc':'2.0','method':'generateIntegers','params': {'apiKey':'mykey','n':10,'min':1,'max':10,'replacement':'true','base':10},'id':24565}
params = json.dumps(data)
response = requests.post(url,params)
print(response.text)
因此,对于 random.org,您必须向该 url 发出发布请求
https://api.random.org/json-rpc/2/invoke
数据存储在变量 raw_data 中,但首先您应该将字典对象转换为 json 格式,这可以使用以下行来完成
data=json.dumps(raw_data)
headers 变量存储 POST 请求的格式
请求是使用requests模块的post方法完成的
然后我们得到 json 格式的响应,该响应通过
转换为可打印格式print(response.text)
请务必将您的 api_key 存储在
raw_data
变量中