如何在curl重定向上发送数据?

时间:2017-02-12 17:43:16

标签: python web-services curl flask https

我有一个目前在HTTP上的API,我在python烧瓶中使用SSLify库移动了API。 现在我使用curl请求发送数据

curl -v -k  -H "Content-Type: application/json" -X POST \
  --data '{"title":"foobar","body": "This body"}' \
  -L http://X.Y.Z.W.us-west-2.compute.amazonaws.com/test

使用request.data向我返回一个空字符串 如果我以https开头请求它返回正确的值。如果有重定向,我该如何发送数据?

1 个答案:

答案 0 :(得分:0)

SSLify根据您的配置发出301或302重定向状态代码。因此,您需要将--post301--post302传递给curl。

原因可以在curl手册页中找到:

  

当curl遵循重定向并且请求不是普通的GET(for   例如POST或PUT),它将使用GET执行以下请求   如果HTTP响应是301,302或303.如果响应代码是   任何其他3xx代码,curl将使用重新发送以下请求   相同的未经修改的方法。

     

您可以告诉curl不要将非GET请求方法更改为GET   通过使用专用选项进行30x响应后: - post301, - post302和-post303。

相关问题