【问题标题】:How to send data on a curl redirect?如何在 curl 重定向上发送数据?
【发布时间】:2017-06-30 16:01:17
【问题描述】:

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

【问题讨论】:

  • 谷歌在 curl 中跟踪重定向

标签: python web-services curl flask https


【解决方案1】:

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

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

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

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

【讨论】:

  • 哦,这太有用了,它看起来很有效。谢谢你们俩。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-18
  • 2014-09-24
  • 1970-01-01
  • 2010-11-30
  • 2022-08-15
  • 2010-12-22
  • 2014-11-02
相关资源
最近更新 更多