Python 获取没有问号的http请求?
有一个RESTful API,其文档提供了一个示例查询:Python 获取没有问号的http请求?,python,json,get,python-requests,Python,Json,Get,Python Requests,有一个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=p
https://www.sample.com/sample/v1/json/sampleFunc/{"input1":"value1","input2":["value1","value2","value3"]}
如果我将上面的代码放在浏览器中,它将正确返回json。
如果我将上述内容直接放入(python):requests.get()
,它将正确返回json
但是,如果我这样做:
requests.get(url, params=payload),
当我将url中的dictiontary放入有效负载时,它从服务器返回一个异常
sampleFunc接受x个参数,但只发送y个参数
仔细看,上述调用形成的url格式如下:
https://www.sample.com/sample/v1/json/sampleFunc/?input1=value1&input2=value1&input1=value2.....
而原始url的格式不同
我试过别的方法:
requests.get(url, params=json.dumps(payload))
现在url看起来更接近原始url(使用编码),但在sampleFunc
之后仍然有一个“?”,并且仍然给出相同的错误
我错过了什么?不是所有的
get
请求都包含一个“?”。原始url的格式是什么?没有?并且直接在url中使用json?该API看起来有点糟糕。它不需要查询字符串;它需要一块JSON作为路径的一部分。下次请在发布时格式化代码、请求格式等。这次我是为您做的。params=…
正是用于设置查询参数的。这必然发生在?
之后,因为这就是查询参数。API希望将其作为URL的一部分,因此URL+json.dumps(payload)
就是这样。这是否意味着API不是标准的GET请求,因为它不符合?field1=value1&field2=value2?那个URL是什么格式的?API并不完全符合典型的模式,但就HTTP而言,它仍然是一个完美的REST“GET”API。作者可以指定他们想要的任何URL格式。他们选择了一个非常时髦的API。那个API看起来有点糟糕。它不需要查询字符串;它需要一块JSON作为路径的一部分。下次请在发布时格式化代码、请求格式等。这次我是为您做的。params=…
正是用于设置查询参数的。这必然发生在?
之后,因为这就是查询参数。API希望将其作为URL的一部分,因此URL+json.dumps(payload)
就是这样。这是否意味着API不是标准的GET请求,因为它不符合?field1=value1&field2=value2?那个URL是什么格式的?API并不完全符合典型的模式,但就HTTP而言,它仍然是一个完美的REST“GET”API。作者可以指定他们想要的任何URL格式。他们选了一个很时髦的。