下面我将为您详细讲解“php curl常用的5个经典例子”的完整攻略。curl是一种很流行的用于处理网络请求的工具,而且它也是PHP中非常常用的模块。以下是五个经典的用法实例:
1.发送GET请求并获取响应内容
以下是一个简单的示例,演示了如何使用curl模块发送一个GET请求并获取响应内容的回应。
$url = 'https://www.example.com';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
这个示例首先设置了要请求的URL,然后初始化了curl模块并设置了网址和相应的选项,用curl_exec发出请求,添加选项curl_close以关闭请求。最后,响应内容存到$output变量中,并用echo语句显示出来。
2.发送POST请求并获取响应内容
以下是一个演示了如何使用curl模块发送一个POST请求以及获取响应内容的示例。
$url = 'https://www.example.com/post-handle.php';
$data = array(
'username' => 'foo',
'password' => 'bar'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
这个示例设置了要请求的URL和要通过POST发出的数据。接下来,它初始化curl模块并设置网址和相关选项来发送POST请求。最后,响应内容存成$output变量,然后用echo语句显示出来。
3.文件上传
以下是演示如何使用curl将文件上传到服务器的示例。上传文件的内容为test.jpg,文件上传地址为https://www.example.com/upload.php:
$url = 'https://www.example.com/upload.php';
$file_name_with_full_path = realpath('./test.jpg');
$post = array('extra_info' => 'This can be any string');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'file_contents' => curl_file_create($file_name_with_full_path),
));
$output = curl_exec($ch);
curl_close($ch);
echo $output;
这个示例首先设置上传的文件的路径,以及文件上传的地址。然后,我们初始化curl模块并设置网址和相关选项来上传文件。最后,响应内容返回到$output变量,并将其用echo语句显示出来。
4.使用cURL来模拟登录并获取页面内容
以下是通过使用curl模拟登录到指定网站后,获取登陆后网页的内容的一个实例:
$login_url = "https://www.example.com/login.php";
$username = 'your_username';
$password = 'your_password';
$data = array('username' => $username, 'password' => $password);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $login_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, "https://www.example.com/secure.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($ch);
curl_close($ch);
echo $content;
这个示例初始化了curl模块并设置了模拟登录所需要的URL、用户名和密码。接下来,使用curl_exec函数向登录页面提交表单数据,进行模拟登录。一旦登录成功,使用curl_setopt函数设置最终要请求的URL,以及相关选项来获取登录后的内容。最后,响应内容返回到$content变量,并将其用echo语句显示出来。
5.使用HTTP头模拟请求
以下是一个演示如何使用HTTP头模拟请求的示例:
$url = 'https://www.example.com';
$header = array('apikey:123456', 'Content-Type:application/json');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
这个示例设置了要请求的URL和要添加的自定义HTTP头。接下来,初始化了curl模块并设置网址和相关选项,用curl_exec发出请求,最后响应内容存成$output变量并输出。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php curl常用的5个经典例子 - Python技术站