php curl的使用心得
php的curl有很多参数,整理一下其中的常用参数的作用
设置为 1 是检查服务器SSL证书中是否存在一个公用名(common name)。译者注:公用名(Common Name)一般来讲就是填写你将要申请SSL证书的域名 (domain)或子域名(sub domain)。 设置成 2,会检查公用名是否存在,并且是否与提供的主机名匹配。 0 为不检查名称。 在生产环境中,这个值应该是 2(默认值)。
2.CURLOPT_SSL_VERIFYPEER
false 禁止 cURL 验证对等证书(peer's certificate)。要验证的交换证书可以在 CURLOPT_CAINFO 选项中设置,或在 CURLOPT_CAPATH中设置证书目录。
3.CURLOPT_RETURNTRANSFER
true 将curl_exec()获取的信息以字符串返回,而不是直接输出。curl_exec()默认是会输出请求内容的,相当于echo xxx;如果设置了该参数curl会把请求到的参数赋值成变量返回。
4.CURLOPT_USERAGENT
在HTTP请求中包含一个"User-Agent: "头的字符串。一般用来模拟浏览器行为。
5.CURLOPT_COOKIE
设定 HTTP 请求中"Cookie: "部分的内容。多个 cookie 用分号分隔,分号后带一个空格(例如, "fruit=apple; colour=red")。访问管理比较严格的网站会检查cookie,如果想采集这类网站上的数据,那么这个参数是必不可少的。
6.CURLOPT_TIMEOUT
允许 cURL 函数执行的最长秒数。设置最长连接时间,当curl陷入假死,自动断开连接,然后重新发起请求。
7.CURLOPT_FOLLOWLOCATION
true 时将会根据服务器返回 HTTP 头中的 "Location: " 重定向。(注意:这是递归的,"Location: " 发送几次就重定向几次,除非设置了 CURLOPT_MAXREDIRS,限制最大重定向次数。)有的网站会有重定向操作,加上这个操作curl会跟随网站的重定向抓取。
8.CURLOPT_REFERER
在HTTP请求头中"Referer: "的内容。在http请求中Referer表示请求来路,一些网站会验证Referer来作为反爬措施。
9.CURLOPT_HTTPHEADER
设置 HTTP 头字段的数组。格式: array('Content-type: text/plain', 'Content-length: 100')。这个参数可以设置http的header,通常用来伪造信息之类的,比设置CLIENT-IP和X-FORWARDED-FOR来伪造ip,不过能否伪造成功就要看被爬取的网站是怎么识别ip的了。
10.CURLOPT_PROXYTYPE
代理类型,可以是 CURLPROXY_HTTP (默认值) CURLPROXY_SOCKS4、 CURLPROXY_SOCKS5、 CURLPROXY_SOCKS4A 或 CURLPROXY_SOCKS5_HOSTNAME.很多网站会通过ip访问频率来反爬,严格的甚至还会封ip。使用这个参数可以配置代理ip,降低单个ip访问频次。
11.CURLOPT_PROXYPORT
代理服务器的端口。端口也可以在CURLOPT_PROXY中设置。
12.CURLOPT_PROXY
HTTP 代理通道。(有CURLOPT_PROXYPORT参数写为ip就行,没用CURLOPT_PROXYPORT参数写文ip加端口)
php curl的使用心得的更多相关文章
- 不同版本PHP之间cURL的区别(-经验之谈)
之前在做一个采集的工具,实现采集回来的文章,图片保存起来.文章内容是保存在数据库,图片是先需要上传到图片服务器,再返回图片地址,替换掉文章的图片地址. 问题来了:都能成功采集都东西,但是,本地测试是正 ...
- 打印 上一主题 下一主题 利用cURL实现单个文件分多段同时下载,支持断点续传(修订版)
利用cURL实现单个文件分多段同时下载,支持断点续传(修订版) [复制链接] 摘自 http://bbs.chinaunix.net/thread-917952-1-1.html 在ubuntu下 ...
- linux下c/c++方式访问curl的帮助手册
自:http://blog.chinaunix.net/u1/47395/showart_1768832.html 有个业务需求需要通过curl 代理的方式来访问外网 百度了一把,测试可以正常使用.记 ...
- SuperWebClient -一个基于CURL的.NET HTTP/HTTPS模拟神组件(1)
我们都知道,不管你是做爬虫也好,采集工具也罢,它们的HTTP/HTTPS模拟访问总是一个基础问题,我估计有很多人和我一样,虽然这样,那样的内置或是第三方类库用了很多,却总是会有一些不如意的问题存在,亦 ...
- 腾讯通信云服务端使用心得,腾讯云IM
腾讯通信云服务端使用心得 1.腾讯通信服务入口并创建应用 方便使用保留url地址 : https://cloud.tencent.com/product/im 注册账号腾讯云账号->通过审核 ...
- libcurl使用心得-包括下载文件不存在处理相关(转)
libcurl使用心得 Libcurl为一个免费开源的,客户端url传输库,支持FTP,FTPS,TFTP,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP,跨平台,支持 ...
- cocos2d-x AssetsManager libcurl使用心得
libcurl使用心得 最新正在写cocosclient更新的逻辑.研究了一下cocos2d-x自带的Libcurl,下面是自己在使用过程中的心得和遇到的未解问题.希望大家一起讨论一下,欢迎大家指导. ...
- [转]linux 下 使用 c / c++ 调用curl库 做通信开发
example: 1. http://curl.haxx.se/libcurl/c/example.html 2. http://www.libcurl.org/book: 1. http:/ ...
- 可能是东半球最好的 Curl 学习指南,强烈建议收藏!
本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...
随机推荐
- openstack常用命令-nova篇
1.查看openstack版本 nova-manage version 2.查看节点 nova host-list 3.查看计算节点 nova hypervisor-list 4.查看计算节点上有哪些 ...
- HTML5 localStorageXSS漏洞
localStorage基础 Window localStorage 属性 HTML5 提供了两种新的本地存储方案,sessionStorage和localStorage,统称WebStorage. ...
- 面试BAT必问的JVM,今天我们来说一说它类加载器的底层原理
类加载器的关系 类加载器的分类 JVM支持两种类加载器,一种为引导类加载器(Bootstrap ClassLoader),另外一种是自定义类加载器(User Defined ClassLoader) ...
- 面试官:小伙子,给我说一下Java 数组吧
Java 数组 Java 语言中提供的数组是用来存储固定大小的同类型元素. 1.声明数组变量 首先必须声明数组变量,才能在程序中使用数组. dataType[] arrayRefVar; // 首选的 ...
- 总结MathType安装的一些小技巧
MathType在编辑数学公式确实很方便,因为它的功能很强大,能够进行多种数学符号编辑.但是在安装时我们多多少少会遇到一些问题,那这些问题该怎么解决呢?下面就让小编来分享公式编辑器安装的一些小技巧吧! ...
- 左右声道音频怎么制作,用Vegas就对啦
一款优秀的视频剪辑软件,不仅有高水平的视频制作功能,它的音频编辑功能也是必不可少的.Vegas就是这么一款软件,同时具备视频制作特效制作的同时,还能帮助制作轨道音频效果. 下面,就让小编带大家去学习, ...
- css3系列之transform 详解scale
scale() scaleX() scaleY() scaleZ() scale3d() 改变的不是元素的宽高,而是 X 和 Y 轴的刻度 本章有个很冷门的知识点 → scale 和 rotate 一 ...
- 自学linux——12.shell进阶
Shell进阶 当把在Windows中写好的脚本传到linux中使用时,在Windows下每一行结尾是\n\r,而Linux下则是\n,所以会多出来\r,在linux中运行脚本时,需执行: sed - ...
- 【操作系统】先来先服务和短作业优先算法(C语言实现)
[操作系统] 先来先服务算法和短作业优先算法实现 介绍: 1.先来先服务 (FCFS: first come first service) 如果早就绪的进程排在就绪队列的前面,迟就绪的进程排在就绪队列 ...
- Java蓝桥杯练习——杨辉三角形
问题描述: 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数. 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加. 下面给出了杨辉三角形的前4行: 1 1 1 ...