php curl post
时间: 2023-09-15 15:19:13 浏览: 51
PHP 中使用 Curl 发送 POST 请求的方法如下:
```php
// 创建 Curl 句柄
$ch = curl_init();
// 设置请求 URL
curl_setopt($ch, CURLOPT_URL, "http://example.com/api");
// 设置请求方式为 POST
curl_setopt($ch, CURLOPT_POST, true);
// 设置请求参数
$data = array(
'param1' => 'value1',
'param2' => 'value2'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
// 执行请求并获取响应结果
$response = curl_exec($ch);
// 关闭 Curl 句柄
curl_close($ch);
```
上面的代码中,首先通过 `curl_init()` 函数创建了一个 Curl 句柄 `$ch`,然后设置了请求 URL 和请求方式为 POST。接着通过 `curl_setopt()` 函数设置了请求参数,其中 `$data` 是一个关联数组,表示请求参数。最后通过 `curl_exec()` 函数执行请求并获取响应结果,最后关闭 Curl 句柄。
需要注意的是,如果需要发送 JSON 格式的数据,可以使用 `json_encode()` 函数将数据转换为 JSON 字符串,并设置请求头的 `Content-Type` 为 `application/json`,例如:
```php
// 设置请求头
$headers = array(
'Content-Type: application/json'
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// 设置请求参数为 JSON 字符串
$data = array(
'param1' => 'value1',
'param2' => 'value2'
);
$data_json = json_encode($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
```