curl_init() 函数初始化一个新的cURL会话,返回一个cURL句柄,用于后续的cURL设置和执行。
resource curl_init ([ string $url = NULL ] )
| 参数 | 描述 | 是否可选 | 默认值 |
|---|---|---|---|
| url | 如果提供了该参数,CURLOPT_URL 选项将会被设置成这个值 |
可选 | NULL |
成功时返回一个cURL句柄,失败时返回 FALSE。
<?php
// 初始化cURL会话
$ch = curl_init();
// 设置URL和其他选项
curl_setopt($ch, CURLOPT_URL, "https://www.example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
// 执行cURL请求
$response = curl_exec($ch);
// 检查是否有错误发生
if(curl_error($ch)) {
echo 'cURL Error: ' . curl_error($ch);
}
// 关闭cURL资源
curl_close($ch);
// 输出响应内容
echo $response;
?>
<?php
// 初始化cURL会话并直接设置URL
$ch = curl_init("https://api.example.com/data");
// 设置其他选项
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer your_token_here'
]);
// 执行请求
$result = curl_exec($ch);
// 获取HTTP状态码
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// 关闭cURL资源
curl_close($ch);
// 处理响应
if ($httpCode == 200) {
$data = json_decode($result, true);
print_r($data);
} else {
echo "请求失败,HTTP状态码:" . $httpCode;
}
?>
<?php
// 初始化cURL
$ch = curl_init();
// 设置POST数据
$postData = [
'name' => 'John Doe',
'email' => 'john@example.com',
'message' => 'Hello World'
];
// 设置cURL选项
curl_setopt_array($ch, [
CURLOPT_URL => "https://api.example.com/submit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($postData),
CURLOPT_HTTPHEADER => [
'Content-Type: application/x-www-form-urlencoded',
]
]);
// 执行请求
$response = curl_exec($ch);
// 检查错误
if (curl_errno($ch)) {
throw new Exception(curl_error($ch));
}
// 关闭cURL
curl_close($ch);
// 处理响应
echo $response;
?>
curl_close() 来释放资源