我在ApacheCamel中编写了一个简单的rest服务,并通过调用我的服务的端点使用curl命令对其进行了测试。
该服务以纯文本形式接收一个简单的String,如“ABC123-D-FE”,但由于我进行了多次测试,数据总是以“{ABC123-D-FE=}"的形式接收,并且总是添加“{ =}"。
一开始我以为是我的服务捕获了这样的数据,但是我尝试过的所有其他方法(例如,rest客户端、postman、通过其他服务调用服务)都没有产生这样的结果,而且服务总是只接收纯文本数据,只是通过使用curl才这样格式化的。
命令是:
服务提供商:
找不到对此行为的任何引用,唯一的结论是curl默认会做一些事情(并且不明白为什么或如何删除它)。
我在Ubuntu Mate 20.04中使用了curl命令。
1条答案
按热度按时间pzfprimi1#
编辑:根据Nick奥德尔的评论,这几乎可以肯定地意味着它被解析为一个Map,其键“ABC123-F-DE”具有空值,如以下json:
{
来表示map的开始,添加了=
来指定“这个键的值”,添加了}
来指定map的结束?让我们来看看curl实际上通过一个小小的netcat服务器发送了什么:
紧接着
产量:
结论:这绝对不是 curl 。
我最好的猜测是:服务器的
application/x-www-form-urlencoded
-解析器有什么奇怪的地方吗?