cURL 是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。
php支持curl,并且使用非常简单。
检测curl环境
使用is_callable判断某个函数是否可用,curl_init是创建curl对象函数
<?php
$is = is_callable("curl_init");
if($is){
echo "支持";
}
else{
echo "不支持";
}
无参数get请求
当用户请求当前页面,php使用curl请求另一个页面数据,抓取数据后传递给浏览器
<?php
// 创建curl对象,并初始化url
$ch = curl_init("https://www.52dixiaowo.com");
// 执行curl,并把结果传递给浏览器
curl_exec($ch);
无参数post请求
使用curl_setopt函数,设置post请求方式
<?php
// 创建curl对象,并初始化url
$ch = curl_init("https://www.52dixiaowo.com/tools/index.php");
// 设置请求方式为post
curl_setopt($ch,CURLOPT_POST,true);
// 执行curl,并把结果传递给浏览器
curl_exec($ch);
有参数get、post
对于get参数,直接拼接在url中即可,而post参数,同样使用setopt函数指定
<?php
// 创建curl对象,并初始化url
$ch = curl_init("https://www.52dixiaowo.com/tools/index.php?name=haha");
// 设置请求方式为post
curl_setopt($ch,CURLOPT_POST,true);
// 发送数据
$data = "abc";
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
// 执行curl,并把结果传递给浏览器
curl_exec($ch);
修改User-Agent
同样使用set_opt函数指定user-agent
<?php
// 创建curl对象,并初始化url
$ch = curl_init("https://www.52dixiaowo.com/tools/index.php?name=haha");
// 设置请求方式为post
curl_setopt($ch,CURLOPT_POST,true);
// 设置User-Agent
curl_setopt($ch,CURLOPT_USERAGENT,"custom_agent");
// 发送数据
$data = "abc";
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
// 执行curl,并把结果传递给浏览器
curl_exec($ch);
本篇完,还有疑问?留下评论吧