发布表单数据时linux curl 301重定向

Posted

技术标签:

【中文标题】发布表单数据时linux curl 301重定向【英文标题】:linux curl 301 redirect when posting form data 【发布时间】:2014-01-19 22:50:16 【问题描述】:

我正在编写一个简单的 linux shell 脚本来发布表单数据并收集响应,我得到了一个永久移动的 301 重定向。

这是我的脚本:

验证并保存会话 cookie

 curl -c cookie.txt -d "username=uname" -d "password=psword" site.com/user/do_login

使用经过身份验证的会话,设置为处理重定向,将用户代理更改为移动设备,然后发送发布请求

 curl -b cookie.txt --max-redirs 10 -A "User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (Khtml, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7" --data "start=2013-11-11" site.com/account/location/

这是 301 重定向的结果,任何想法或更正将不胜感激!

注意:我在网址前使用 http://,此表单不允许我发布完整网址

【问题讨论】:

【参考方案1】:

我发现通过删除网址末尾位置的 / 并使用 -d 而不是 --data 它解决了我的问题,同时删除了 --max-redirs 10。

【讨论】:

以上是关于发布表单数据时linux curl 301重定向的主要内容,如果未能解决你的问题,请参考以下文章

表单提交响应 301 或 302

我应该在提交表单后使用 301、302 还是 303 重定向?

301 将国家域名的***域名重定向到另一个域名

301 重定向到 URL 中带有 # 的域

ngin配置301重定向设置方法和nginx子目录301重定向

为啥jQuery会阻止propper 301重定向?