Python API 调用 Random.org

问题描述 投票:0回答:3

所以我对 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) 

如有任何帮助,我们将不胜感激

python json api random request
3个回答
1
投票

此代码适用于版本 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)

0
投票
    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)

-1
投票

因此,对于 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
变量中

© www.soinside.com 2019 - 2024. All rights reserved.