【发布时间】:2016-12-05 15:52:04
【问题描述】:
我正在尝试从 PHP 程序对 Influx db 进行 API 调用。要发出的 curl 请求是 -
curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "q=SHOW MEASUREMENTS"
我遇到的 PHP 代码是 -
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://localhost:8086/query?pretty=true",
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache"
),
));
我不确定应该在哪个 curl_setopt_array 中发送 q=SHOW MEASUREMENTS
【问题讨论】:
-
您是否尝试过将 url 设为 localhost:8086/query?pretty=true&q=SHOW MEASUREMENTS ?
-
如果不起作用,并且您正在传递一个帖子,请尝试 CURLOPT_POST=> 1, CURLOPT_POSTFIELDS => $_POST
-
必须做一个 urlencode 并将查询字符串添加到 url...它现在可以工作了!感谢您指出正确的方向:)
-
@AntonioAlexandreAlonsodeSi 这行不通,因为它还没有 url 编码。 URL 中的空格用
+编码。所以,这就像http://localhost:8086/query?pretty=true&q=SHOW+MEASUREMENTS。