我有一个目前在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开头请求它返回正确的值。如果有重定向,我该如何发送数据?
答案 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。