【问题标题】:How to determine date format for php curl?如何确定 php curl 的日期格式?
【发布时间】:2019-02-19 21:04:41
【问题描述】:

我有一个简单的脚本,它可以卷曲到一个站点以获取航班信息。该站点输入了出发城市、到达城市和日期。实际站点上的日期字段使用日期选择器,占位符格式为 mm/dd/yyyy,当使用日期选择器选择日期时,日期输入字段会填充类似 04/14/2019 的内容。

我的脚本包括:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.somesite.com");

$curl_data = "dep=YYY&arr=ZZZ&date=04/14/2019";

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curl_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec($ch);
curl_close($ch);

当我回显输出时,它总是告诉我我提交的日期无效。我尝试了多种格式。关于如何确定正确的日期格式或我可能需要做什么的任何想法?

谢谢。

【问题讨论】:

  • 在浏览器中提交表单并查看浏览器发送数据的格式。此外,许多日期选择器实际上有两个重叠的输入框以实现日期选择器功能。检查 DOM 以确保您没有名为 date1 或类似名称的隐藏输入。

标签: php curl datepicker


【解决方案1】:

当您在真实站点上提交表单时,您可以使用 Web 开发人员控制台检查 POST 数据:How can I debug a HTTP POST in Chrome?

【讨论】:

  • 按照您的链接建议进行操作,我得到以下日期:2019 年 2 月 21 日。查看源代码或 url 编码时,它有 02%2F21%2F2019。我试过了,但还是不行。
  • %2F 是一个 / 字符 - 请参阅 here。尝试使用 / 字符。
  • 我也试过了。我认为我提交的页面实际上重定向到了第二个页面,所以我将获取第 1 页的输出并尝试在明天卷曲到第 2 页。谢谢
  • 您可以在 curl 中启用autoredirect
  • Thomas... 我今天早上启用了重定向,这成功了。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多