Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取没有问号的http请求?_Python_Json_Get_Python Requests - Fatal编程技术网

Python 获取没有问号的http请求?

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

有一个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), 
当我将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格式。他们选了一个很时髦的。