【问题标题】:Copy as Curl in Chrome with POST says error 302 moved temporarily使用 POST 在 Chrome 中复制为 Curl 说错误 302 暂时移动
【发布时间】:2013-10-06 13:27:16
【问题描述】:
在开发完整的应用程序之前,我正在使用 Curl 在 shell 中进行尝试。我需要从一个公共站点获取信息,我在其中输入两行信息,并在浏览器中返回单行响应。当我在 chrome 中输入数据时,在 Network 下的 chrome Developer Tools 下,它显示 POST 命令,但状态为“302 临时移动”。当我直接在 shell 中从 Curl 运行“复制为 curl”数据时,我收到“
您请求的此文档已临时移动。
现在位于 href="http.......
它发送给我的 URL 是相同的,只是它的 http 而不是 https。有什么办法可以使用 Curl 吗?如果没有,我应该检查其他工具吗?我需要为几十个类似的网站这样做。我可以使用人工模拟命令来做到这一点,但我更喜欢不启动浏览器窗口的更隐蔽的东西。
【问题讨论】:
标签:
php
curl
cygwin
scrape
【解决方案1】:
由于这个问题还没有得到解答,我来到这里寻找解决我的问题的方法,这让我很困惑,也许这对某人有帮助:
我得到一个“302 临时移动”并重定向到 GET 在同一资源上尝试发布已填充以进行编辑的表单。我已将电子邮件输入设置为必需,并在编辑时将其设置为在 html 中禁用(因为用户一旦存储就不允许更改它)。
通过将 html disabled 属性更改为只读来解决问题(在对标题进行了大量研究之后,这似乎相当相同)。这样做的不同之处在于电子邮件出现在 POST 字符串中。
现在我不是 http 专家,但据我了解,服务器必须以某种方式知道(也许是缓存?)当它没有通过 POST 接收到字段时,已经设置了 html5 布尔属性“必需” .也许知道的人可以解释一下,因为它仍然让我感到困惑,但无论如何这是我的解决方案。
这是在 IIS 8 上的 PHP 脚本上的(我知道,但这是为了工作!)虽然问题与 PHP 无关。