cURL范例(包括错误输出和详情输出)
//1.初始化 $ch = curl_init(); //2.设置选项,包括URL curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); //3.执行并获取HTML文档内容 $output = curl_exec($ch); //4.错误判断 if ($output === FALSE){ echo 'cURL Error:'.curl_error($ch); } //5.返回cURL执行过程中相关信息(方便调试和查错) $info = curl_getinfo($ch); curl_close($ch); echo $output;
cURL基本设置项
if (is_callable('curl_init')){ //1、初始化创建一个新cURL句柄 $ch = curl_init(); //2、设置cURL相关选项 curl_setopt($ch, CRULOPT_URL, 'https://www.xlyhw.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设置curl_exec()获取信息以字符流的形式返回 curl_setopt($ch, CURLOPT_REFERER, 'http://weibo.com/');//告诉www.xlyhw.com是weibo中的页面通过点击进入的 curl_setopt($ch, CURLOPT_HEADER, 1);//启用时会将头信息作为字符流输出 curl_setopt($ch, CURLOPT_NOBODY, true);//排除页面主题只返回头信息与CURLOPT_HEADER同时使用 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);//跟随head头重定向去寻找页面 curl_setopt($ch, CURLOPT_MAXREDIRS, 5);//跟随重定向的次数为5次 $agent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.2.2';//echo $_SERVER[ 'HTTP_USER_AGENT' ] curl_setopt($ch, CURLOPT_USERAGENT, $agent);//使用用户代理访问xlyhw curl_setopt($ch, CURLOPT_TIMEOUT, 30);//抓取页面的等待时间为30秒 $header_arr[] = 'Mime-version:1.0' ; $header_arr[] = 'Content-type:text/html;charset=utf-8' ; $header_arr[] = 'Accept-encoding:compress,gzip' ; curl_setopt($ch, CURLOPT_HTTPHEADER, $header_arr);//向目标服务器传递头部信息 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//用户https //使用post向目标站提交数据 curl_setopt($ch, CURLOPT_POST, true); $data = 'username=administrator&password=admin@admin.com';//定义post的数据字符串 curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_PORT, '8080');//目标站的端口 //3、抓取URL的HTML内容 $output = curl_exec($ch); //4、关闭cURL句柄 curl_close($ch); }else { }
利用curl获取网络图片
/** * curl获取网络图片保存到本地 */ $ch = curl_init();//初始化curl $fp = fopen('a.png','wb');//打开文件 curl_setopt($ch,CURLOPT_URL,'http://www.xlyhw.com/home/images/logo.png');//图片url curl_setopt($ch,CURLOPT_FILE,$fp);//把图片数据放进文件 curl_setopt($ch,CURLOPT_HEADER,0);//是否输出页面内容 curl_setopt($ch,CURLOPT_TIMEOUT,60);//执行的时间限制 curl_exec($ch); $info = curl_getinfo($ch); echo '<pre>'; print_r($info); echo '</pre>'; curl_close($ch); fclose($fp);
If the copyright belongs to the longfei, please indicate the source!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?