做中介卖房子开哪个网站,建设企业功能型网站,Win10卸载wordpress,长沙编程培训学校哪家好cURL介绍 cURL使用场景 爬取网页数据和资源请求接口数据下载ftp服务器资源其他所有网络上的资源 开启扩展 windows下通过修改php.ini文件开启 检验是否开启cURL扩展的方法 1. 命令行输入#xff1a;php -i 列出所有的php信息#xff0c;然后ctrlF搜索curl关键字#xff0c… cURL介绍 cURL使用场景 爬取网页数据和资源请求接口数据下载ftp服务器资源其他所有网络上的资源 开启扩展 windows下通过修改php.ini文件开启 检验是否开启cURL扩展的方法 1. 命令行输入php -i 列出所有的php信息然后ctrlF搜索curl关键字如果为enable则为开启还可以查看curl的版本等信息。 2. 编写一个php文件里面输入phpinfo(),也可以打印出php信息 PHP中使用cURL 使用示例 爬取一个网页的内容并对其进行替换 ?php$ch curl_init(); // 初始化curl句柄curl_setopt($ch, CURLOPT_URL, http://news.ifeng.com/); // 设置URL地址curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 执行之后不直接打印出来内容$res curl_exec($ch); // 执行curl_close($ch); // 关闭curl句柄echo str_replace(台湾, 中国台湾省, $res); // 替换指定内容后输出 获取XML数据并解析为数组 ?php
// libxml_disable_entity_loader(false);
$data theCityName杭州; // 传递的参数数据
$ch curl_init(); // 初始化curl句柄
curl_setopt($ch, CURLOPT_URL, http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName); // 设置URL地址
curl_setopt($ch, CURLOPT_HEADER, 0); // 不显示header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 执行之后不直接打印出来内容
curl_setopt($ch, CURLOPT_POST, 1); // 采用post方式请求
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // 将要post的数据传递过去
curl_setopt($ch, CURLOPT_HTTPHEADER, array(application/x-www-form-urlencoded;charsetutf-8, Content-length:.strlen($data), X-FORWARDED-FOR:111.222.333.4, CLIENT-IP:111.222.333.4)); // 设置http头部信息,并构造了一个虚拟ip防止ip封杀
// curl_setopt($ch, CURLOPT_USERAGENT, Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER[HTTP_USER_AGENT]); // 带上user_agent否则可能会被查出来是爬虫加上可能他就认为是浏览器
$res curl_exec($ch); // 执行// 执行成功返回信息执行失败显示错误
if (!curl_errno($ch)) {// 如果是加载一个xml文件用simplexml_load_file$xmlObj simplexml_load_string($res);$jsonData json_encode($xmlObj);$arr json_decode($jsonData,true);foreach($arr as $val) {foreach($val as $k $v) {echo {$k} {$v}br;}}
} else {echo cURL error: . curl_error($ch);
}curl_close($ch); // 关闭curl句柄 模拟登陆获取用户中心数据 ?php
$data usernamexxxxxxqq.compasswordxxxxxxremember1;
$ch curl_init(); // 初始化
curl_setopt($ch, CURLOPT_URL, http://www.imooc.com/user/login); // 设置访问网页的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 执行之后不直接打印出来
// cookie相关设置这部分设置需要在所有会话开始之前设置
date_default_timezone_set(PRC); // 使用cookie必须先设置时区
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($ch, CURLOPT_COOKIEFILE, cookiefile);
curl_setopt($ch, CURLOPT_COOKIEJAR, cookiefile);
curl_setopt($ch, CURLOPT_COOKIE, session_name() . . session_id());
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 这样能让curl跟踪页面跳转
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(application/x-www-form-urlencoded;charsetutf-8,Content-length: .strlen($data)));
curl_exec($ch); // 执行
curl_setopt($ch, CURLOPT_URL, http://www.imooc.com/space/index);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(Content-type:text/xml));
$output curl_exec($ch);
curl_close($ch);
echo $output;
? 下载ftp服务器上面的资源 ?php
$ch curl_init();
curl_setopt($ch, CURLOPT_URL, ftp://192.168.1.100/downloaddemo.txt);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 300); // 超时自动结束
curl_setopt($ch, CURLOPT_USERPWD, peter.zhou:123456); // ftp的用户名和密码冒号分割
$outfile fopen(dest.txt, wb); // 保存到本地的文件名
$rtn curl_exec($ch);
fclose($outfile);
if(!curl_errno($ch)) {// $info curl_getinfo($ch);// print_r($info);echo RETURN: . $rtn;
} else {echo Curl error: . curl_error($ch);
} 上传资源到ftp服务器 ?php
$ch curl_init();
$localfile ftp01.php;
$fp fopen($localfile, r);
curl_setopt($ch, CURLOPT_URL, ftp://192.168.1.100/ftp01_uploaded.php);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 300);
curl_setopt($ch, CURLOPT_USERPWD, peter.zhou:123456);curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
$rtn curl_exec($ch);
fclose($fp);
if (!curl_errno($ch)) {echo Uploaded successfully.;
} else {echo Curl error: .curl_error($ch);
} 访问https资源 ?php
$ch curl_init();
curl_setopt($ch, CURLOPT_URL, https://cdn.bootcss.com/jquery/3.3.1/jquery.js);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 执行之后不直接打印出来// 设置https支持
date_default_timezone_set(PRC);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 终止从服务器进行验证$output curl_exec($ch);
curl_close($ch);
echo $output; cURL常用函数 curl_init(); // 初始化cURL会话可以传入url也可以不传入返回cURL会话句柄 curl_setport($ch, $option, $value); // 为cURL设置一个选项 curl_setport_array($ch, $optionArray); // 为cURL批量设置选项 curl_exec($ch); // 执行cURL会话返回执行结果 curl_errno($ch); // 返回最后一次的错误代码没有错误返回0 curl_error($ch); // 返回当前回话最后一次错误的字符串 curl_close($ch); // 关闭cURL会话 curl_escape($ch,$str); // 使用URL编码当前的字符串 curl_unescape($ch,$str); // 解码给定的URL字符串 curl_getinfo($ch); // 获取一个cURL连接资源句柄信息,如果第二个参数传入了具体的参数那么会只返回这一个参数的值 curl_version(); // 获取cURL版本信息,参数一般情况下不需要