用正文发送GET请求

2024-04-25 20:32:00 发布

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

我正在使用elasticsearch,RESTful API支持在GET请求中读取搜索条件的主体。

我现在正在做

response = urllib.request.urlopen(url, data).read().decode("utf-8")

如果存在data,它将发出POST,否则将发出GET。尽管我包含了数据(根据POST,数据应该在请求主体中),但如何强制GET

注意:我知道我可以在Url中使用source属性,但是我们运行的查询很复杂,查询定义相当冗长,导致查询非常长。


Tags: 数据apirestfulurlreaddatagetresponse
1条回答
网友
1楼 · 发布于 2024-04-25 20:32:00

我不知道用urllib来做这件事的好方法。但是,requests通过使用requests.request*函数使它变得微不足道(事实上,对于任意动词和请求内容也是如此):

requests.request(method='get', url='localhost/test', data='some data')

构造一个小型的测试web服务器将显示数据确实是在请求主体中发送的,并且服务器感知到的方法确实是GET。

*请注意,我链接到了requests.api.requests代码,因为这是实际的函数定义所在。您应该使用requests.request(...)调用它

相关问题 更多 >