用json文本块而不是url返回smmry api请求的最佳方法是什么?

2024-09-24 00:34:49 发布

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

我试图用python编写一个函数,将请求中的json返回给smmry API。我能够让它与SM_URL请求一起工作,如下所示:

def summry():
    API_ENDPOINT = "https://api.smmry.com"
    API_KEY = "B..."

    params = {
        "SM_API_KEY":API_KEY,
        "SM_URL":"https:..."
    }

    r = requests.get(url=API_ENDPOINT, params=params)
    return r.json()

但是,我不确定如果传入一个文本块而不是URL,您将如何做到这一点。我尝试使用sm_api_input=my_input发出请求,但返回了变量不足的错误。我也尝试过一个POST请求,但得到了相同的错误


Tags: key函数httpsapijsonurlinputdef
1条回答
网友
1楼 · 发布于 2024-09-24 00:34:49

如果有人好奇,这就是我解决问题的方法。原来我需要一个Expect:100 continue头,sm_api_输入是一个单独的post字段,而不是get查询

def summry(text):
    API_KEY = "B..."
    API_ENDPOINT = "https://api.smmry.com"

    data = {
        "sm_api_input":text
    }
    params = {
        "SM_API_KEY":API_KEY
    }
    header_params = {"Expect":"100-continue"}
    r = requests.post(url=API_ENDPOINT, params=params, data=data, headers=header_params)

    return r.json()

相关问题 更多 >