有一个RESTful API,其文档提供了一个示例查询:
https://www.sample.com/sample/v1/json/sampleFunc/{"input1":"value1","input2":["value1","value2","value3"]}
如果我将上述内容放入浏览器中,则会正确返回json。
如果我将上面的内容直接放入(python):requests.get()
,它会正确返回json。
但是,如果我这样做:
requests.get(url, params=payload),
我将urion中的diciontary放入有效负载中,它从服务器返回异常
sampleFunc采用x个参数,但只发送y。
仔细观察,上述呼叫形成的网址格式为:
https://www.sample.com/sample/v1/json/sampleFunc/?input1=value1&input2=value1&input1=value2.....
虽然原始网址格式不同。
我尝试了别的东西:
requests.get(url, params=json.dumps(payload))
现在url看起来更接近原始(带编码),但仍然有一个“?”在sampleFunc
之后,仍然会出现同样的错误。
我在这里缺少什么?并非所有get
个请求都包含“?”。什么格式的原始网址没有?,并直接在网址中获取json?