0

在开发完整的应用程序之前,我正在使用 Curl 在 shell 中进行尝试。我需要从一个公共站点获取信息,我在其中输入两行信息,并在浏览器中返回单行响应。当我在 chrome 中输入数据时,在 Network 下的 chrome Developer Tools 下,它显示 POST 命令,但状态为“302 临时移动”。当我直接在 shell 中运行来自 Curl 的“复制为 curl”数据时,我收到“

您请求的此文件已临时移动。

它现在位于 a href="http....... 它发送给我的 URL 是相同的,只是它的 http 而不是 https。有什么办法可以使用 Curl 吗?如果没有,我还有其他工具吗?应该检查吗?我需要为几十个类似的站点执行此操作。我可以使用人工仿真命令来执行此操作,但我更喜欢不启动浏览器窗口的更隐蔽的东西。 铬数据

4

1 回答 1

0

由于这还没有得到回答,我来到这里寻找解决我的问题的方法,这让我很困惑,也许这对某人有帮助:

我得到一个“302 临时移动”并重新定向到 GET 在同一资源上尝试发布已填充以进行编辑的表单。我已将电子邮件输入设置为必需,并在编辑时将其设置为在 html 中禁用(因为用户一旦存储就不允许更改它)。

通过将 html disabled 属性更改为 readonly 解决了这个问题(在对标题进行了大量研究之后,这似乎相当相同)。这样做的不同之处在于电子邮件出现在 POST 字符串中。

现在我不是 http 专家,但据我了解,服务器必须以某种方式知道(也许是缓存?)当它没有通过 POST 接收到字段时,已经设置了 html5 布尔属性“必需”。也许知道的人可以解释一下,因为它仍然让我感到困惑,但无论如何这是我的解决方案。

这是在 IIS 8 上的 PHP 脚本上的(我知道,但这是为了工作!)虽然问题与 PHP 无关。

于 2013-10-22T08:32:36.027 回答