用CURL GET发送数据

问题描述:

我认为GET不应该有一个身体。但在elasticsearch的背景下,我一直看到这种查询(see here for instance):用CURL GET发送数据

curl -XGET localhost:9200/test/_msearch --data-binary @requests; echo 

如何在这种情况下发送的二进制数据?有人可以解释发生了什么,以及这是如何工作的? 我首先想到它被转换为POST,但是,我在Elasticsearch前面放了一个代理,并看到curl确实发送了GET。尽管我可以在标题,参数和正文中找到数据。所以看起来我的代理似乎也被这个请求弄糊涂了。

但是,当我直接对elasticsearch执行请求时,它工作得很好。是什么赋予了?

GET与身体是允许的,但不被认为是非常“有意义的”。你可以看到这个问题并回答一个完整的讨论。 HTTP GET with request body

和这个关于你的代理的答案:https://*.com/a/978173/3516034