【问题标题】:PHP | POST variables with Curl as in AJAXPHP |在 AJAX 中使用 Curl POST 变量
【发布时间】:2015-11-20 09:37:31
【问题描述】:

如何通过 ajax 使用 curl 复制此数据发布?

  ...
  data: {
    search: JSON.stringify({
    daterange : "custom", 
    daterangecustom  : {
        start   : "2013-03-01T23:59:59",
        end     : "2018-03-01T23:59:59"
      }
    }),
    limit: 50
  },
  ...

我不需要 curl 的全部代码,只需要 $params 值:

curl_setopt($curl, CURLOPT_POSTFIELDS, $params);

我已经尝试了一段时间,但没有成功。非常感谢这里有解决方案的人!

【问题讨论】:

  • 你能展示一下你是如何让它工作的代码吗?
  • 试过最基本的一个:$params = "search=".'{"country":"US"}';
  • 顶部代码部分不包含 country 元素。那你为什么要加呢?
  • 它不是关于实际元素,而是关于它应该如何实现。 API,我发送请求也允许country 过滤器,所以 - 因为我失败了更复杂的请求,我尝试了更简单的请求。主要问题中提供的代码是最终目标。

标签: php jquery ajax curl


【解决方案1】:

在不了解的情况下,我认为这就是您要寻找的:

$data = array(
    'search' => array(
        'daterange' => 'custom',
        'daterangecustom' => array(
            'start' => '2013-03-01T23:59:59',
            'end'   => '2018-03-01T23:59:59',
        ),
    ),
    'limit' => 50,
);

$headers = array(
    'Content-type: application/json',
);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

请求将如下所示:

POST /url HTTP/1.1
Host: host
Accept: */*
Content-type: application/json
Content-Length: 122

{"search":{"daterange":"custom","daterangecustom":{"start":"2013-03-01T23:59:59","end":"2018-03-01T23:59:59"}},"limit":50}

【讨论】:

    猜你喜欢
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多