【发布时间】:2017-07-26 15:00:27
【问题描述】:
我正在尝试使用 PHP 和 cURL 来获取有关 Cloudflare 防火墙中特定 IP 的信息。
但以下请求总是返回防火墙中设置的所有 IP。
是否不能将 CURLOPT_POSTFIELDS 与 GET 请求一起使用?
如何使用 PHP 和 cURL 正确构建包含要请求数据的数组的 GET 请求?
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $this->settings['cloudflare_rules_url'] );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_VERBOSE, 1 );
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'GET' );
$headers = [
'X-Auth-Email: ' . $this->settings['x_auth_email'],
'X-Auth-Key: ' . $this->settings['x_auth_key'],
'Content-Type: application/json',
];
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers );
$search_filter = array(
'configuration_target' => 'ip',
'configuration_value' => '123.123.123.123',
);
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $search_filter ) );
$result = curl_exec( $ch );
curl_close( $ch );
error_log( print_r( json_decode( $result, true ), true ) );
【问题讨论】:
标签: php curl cloudflare