JSON over POST with curl(to pylons)

Dra*_*ric 3 post pylons json curl controller

我有一个接受POST的pylons控制器动作

@restrict('POST')
def myaction(self):

    payload = json.loads(request.body)
Run Code Online (Sandbox Code Playgroud)

我在文件中放置了正确形成的JSON(我可以从python命令行执行json.loads).

我使用以下命令将其发送到控制器:

$ curl -F payload=@./myfile -X POST -H 'Content-type:application/json' -v http://localhost:5000/mycontroller/myaction
Run Code Online (Sandbox Code Playgroud)

在控制器方面,我期待良好形成的JSON,但不是在请求中获取JSON.我得到一个字符串与其他东西像

----------------------- 6588b6680ebb\r \nConContent-Disposition:form-data;

在包含我发送到myaction的JSON字符串表示的字符串之前

我究竟做错了什么?

ale*_*sdm 5

该选项-F适用于多部分内容,您应该使用--data/-d代替:

$ curl --data @./myfile -X POST -H 'Content-type:application/json' -v http://localhost:5000/mycontroller/myaction
Run Code Online (Sandbox Code Playgroud)