//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);

cURL范例(包括错误输出和详情输出)的更多相关文章

  1. ubuntu12.04软件中心打开错误和 ubuntu 包管理之“:E: 读错误 - read (5: 输入/输出错误) E: 无法解析或打开软件包的列表或是状态文件。”的解决

    执行ubuntu软讲中心时打不开.老是崩溃,从终端也下载不了软件. 执行包管理的update或者search等等会报错: E: 读错误 - read (5: 输入/输出错误) E: 无法解析或打开软件 ...

  2. VS2010/MFC字体和文本输出:文本输出

    字体和文本输出:文本输出 本节主要讲解文本输出的方法和实例. 文本输出过程 在文本输出到设备以前,我们需要确定字体.字体颜色和输出的文本内容等信息.Windows窗口的客户区由应用程序管理,所以我们还 ...

  3. 用VSCode终端实现重定向比较程序输出和正确输出

    在刷 OJ 题目或者进行编程考试或比赛时,经常需要对编写好的程序进行测试,即运行编写好的程序,输入样例输入或者自己编写的输入数据,查看程序输出结果和样例输出或者正确输出是否一致.这种方法有很多弊端,当 ...

  4. STM32的GPIO口的输出开漏输出和推挽输出

    本文来自cairang45的博客,讲述了STM32的GPIO口的输出开漏输出和推挽输出, 作者博客:http://blog.ednchina.com/cairang45 本文来自: 高校自动化网(Ww ...

  5. shell查找匹配行,输出该行并输出下面的一行

    查找匹配行,输出该行并输出下面的一行 grep: grep -A 1 'keyword'   file awk:awk '$0~/keyword/{print $0; getline; print $ ...

  6. hadoop编程小技巧(7)---自己定义输出文件格式以及输出到不同文件夹

    代码測试环境:Hadoop2.4 应用场景:当须要定制输出数据格式时能够採用此技巧,包含定制输出数据的展现形式.输出路径.输出文件名称称等. Hadoop内置的输出文件格式有: 1)FileOutpu ...

  7. ASP .NetCore 部署500错误 查看异常详情

    部署.net core 网站后,访问报错:500 按照教程设置完成,但访问时总是提示 服务器内部错误,没有详细的异常信息,无从下手. 解决办法: 1.在站点根目录下按住shift+鼠标右键,选择在此处 ...

  8. 解决tomcat下面部署多个项目log4j的日志输出会集中输出到一个项目中的问题

    在一次项目上线后,发现了一个奇怪的问题,经过对源码的阅读调试终于解决,具体经过是这样的: 问题描述:tomcat7下面部署多个项目,log4j的日志输出会集中输出到一个项目中,就算配置了日志文件的绝对 ...

  9. java基础44 IO流技术(输出字节流/缓冲输出字节流)和异常处理

    一.输出字节流 输出字节流的体系: -------| OutputStream:所有输出字节流的基类(抽象类) ----------| FileOutputStream:向文件输出数据的输出字节流(把 ...

随机推荐

  1. AC日记——爱改名的小融3 codevs 3156

    3156 爱改名的小融 3  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description Wikioi上有个人叫小融,他喜 ...

  2. js-浅显基础-正则表达式集

    今天进博客园,忽然发现我也是有粉丝的人啦!!!!!!!!谢谢谢谢关注(爱心爱心) 本来不想做这个笔记的,但是每次都百度我自己都烦死了,所以还是自己整理一下方便我后期使用: 独笑笑不如众笑笑,放轻松点 ...

  3. jenkins按角色授权

    当一个公司的开发分为多个组或者是多个项目时,不能让所有的开发都公用一个构建,否则将会变得很混乱,为了解决这一问题,jenkins提供了角色授权的机制.每个开发有着对应的账号和权限,可以自行新建.构建. ...

  4. Java中泛型T和Class<T>以及Class<?>的理解(转)

    注意:class是java的关键字, 在声明Java类时使用; Class类的实例表示Java应用运行时的类(class ans enum)或接口(interface and annotation)( ...

  5. 管理SQL Server监控

    http://blog.csdn.net/DBA_Huangzj/article/category/1133081 http://www.cnblogs.com/bhtfg538/archive/20 ...

  6. EventBus3.0使用笔记.md

    事件总线这个其实没什么好说的,除了已经ondestroy的fragment或者activity不能接受外,只要定义了的都能接收消息 代码如下,需要注意的一点就是接收的监听事件必须用public修饰并且 ...

  7. INDY9发送tstream

    INDY9发送tstream 首先都要发送stream.Size, 这是必须的. // 服务端 AThread.Connection.WriteInteger(stream2.Size); AThre ...

  8. vue2.0 + vux (三)MySettings 页

    1.MySettings.vue <!-- 我的设置 --> <template> <div> <img class="img_1" sr ...

  9. linux下的环境文件设置说明

    工作环境设置文件 环境设置文件有两种:系统环境设置文件 和 个人环境设置文件   1.系统中的用户工作环境设置文件:   登录环境设置文件:/etc/profile        非登录环境设置文件: ...

  10. C++入门一

    C++ 项目结构 Resource Files: 项目引用的位图文件,图标,窗口,光标等.比如,你的程序要生成一个exe文件,而文件的图标是你自定义的图标,那就要在这个工程里面添加Icon资源,添加一 ...