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);
cURL范例(包括错误输出和详情输出)的更多相关文章
- ubuntu12.04软件中心打开错误和 ubuntu 包管理之“:E: 读错误 - read (5: 输入/输出错误) E: 无法解析或打开软件包的列表或是状态文件。”的解决
执行ubuntu软讲中心时打不开.老是崩溃,从终端也下载不了软件. 执行包管理的update或者search等等会报错: E: 读错误 - read (5: 输入/输出错误) E: 无法解析或打开软件 ...
- VS2010/MFC字体和文本输出:文本输出
字体和文本输出:文本输出 本节主要讲解文本输出的方法和实例. 文本输出过程 在文本输出到设备以前,我们需要确定字体.字体颜色和输出的文本内容等信息.Windows窗口的客户区由应用程序管理,所以我们还 ...
- 用VSCode终端实现重定向比较程序输出和正确输出
在刷 OJ 题目或者进行编程考试或比赛时,经常需要对编写好的程序进行测试,即运行编写好的程序,输入样例输入或者自己编写的输入数据,查看程序输出结果和样例输出或者正确输出是否一致.这种方法有很多弊端,当 ...
- STM32的GPIO口的输出开漏输出和推挽输出
本文来自cairang45的博客,讲述了STM32的GPIO口的输出开漏输出和推挽输出, 作者博客:http://blog.ednchina.com/cairang45 本文来自: 高校自动化网(Ww ...
- shell查找匹配行,输出该行并输出下面的一行
查找匹配行,输出该行并输出下面的一行 grep: grep -A 1 'keyword' file awk:awk '$0~/keyword/{print $0; getline; print $ ...
- hadoop编程小技巧(7)---自己定义输出文件格式以及输出到不同文件夹
代码測试环境:Hadoop2.4 应用场景:当须要定制输出数据格式时能够採用此技巧,包含定制输出数据的展现形式.输出路径.输出文件名称称等. Hadoop内置的输出文件格式有: 1)FileOutpu ...
- ASP .NetCore 部署500错误 查看异常详情
部署.net core 网站后,访问报错:500 按照教程设置完成,但访问时总是提示 服务器内部错误,没有详细的异常信息,无从下手. 解决办法: 1.在站点根目录下按住shift+鼠标右键,选择在此处 ...
- 解决tomcat下面部署多个项目log4j的日志输出会集中输出到一个项目中的问题
在一次项目上线后,发现了一个奇怪的问题,经过对源码的阅读调试终于解决,具体经过是这样的: 问题描述:tomcat7下面部署多个项目,log4j的日志输出会集中输出到一个项目中,就算配置了日志文件的绝对 ...
- java基础44 IO流技术(输出字节流/缓冲输出字节流)和异常处理
一.输出字节流 输出字节流的体系: -------| OutputStream:所有输出字节流的基类(抽象类) ----------| FileOutputStream:向文件输出数据的输出字节流(把 ...
随机推荐
- JS没有contains方法,可以用indexof实现
我们很多时候会不自觉的在js代码里对一个字符串进行如下操作: str.contains("substr"); 但是js里面没有这个方法去判断字符串str是不是包含substr,而j ...
- Maven设置代理
很多时候电信的网络对于出国不太稳定,针对一些库下载速度比较慢,所以在使用SSR出国时配置maven使用是一种不错的选择.当然,还有另一种选择,就是使用国内的镜像库. 操作步骤: 1.打开{M2_HOM ...
- 随笔:Golang 时间Time
先了解下time类型: type Time struct { // sec gives the number of seconds elapsed since // January 1, year 1 ...
- memcachq队列安装
memcacheq是集中的队列小软件,使用起来简单,便捷,高效. 下载 http://git.oschina.net/sgfoot/linux-tools/raw/master/memcacheq-0 ...
- java判断日期与星期
原文:http://www.open-open.com/code/view/1440592372888 import java.text.SimpleDateFormat; import java.u ...
- 在谈MVP之前,你真的懂MVC吗?
最近看到很多文章在谈论MVP或者MVVM模式的,但其实无论MVP还是MVVM都只是MVC模式的一种变种.而如果你对MVC的设计理念都还没有理解透彻,那么即使换成MVP亦或MVVM也不可能让你杂乱不堪的 ...
- Lucene 源码分析之倒排索引(一)
倒排索引是 Lucene 的核心数据结构,该系列文章将从源码层面(源码版本:Lucene-7.3.0)分析.该系列文章将以如下的思路展开. 什么是倒排索引? 如何定位 Lucene 中的倒排索引? 倒 ...
- 2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告
2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告 勘误1:第6题第4个 if最后一个条件粗心写错了,答案应为1580. 条件应为abs(a[3]-a[7])!=1,宝宝心理苦啊.!感谢zzh ...
- flexible.js + makegrid.js 自适应布局
一,flexible.js 的使用方式: (一),引用方式 1,引用cdn地址 <script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3. ...
- 修改 本地 IP 及 正则表达式 test exec match 的区别
修改 IP 1.打开 "打开网络和共享中心" 2.打开 "更改适配器设置" 3.打开 "本地连接" 属性 4.修改 "协议版本 4 ...