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 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...
随机推荐
- C++中new和malloc区别
面试中new和malloc区别会被经常问到,审视了自己,发现不知道该怎么表达 整理一下: 1.从属性 new/delete是C++关键字,需要编译器支持: malloc/free是库函数,需要头文件支 ...
- 闭关苦修半年,最终靠着这份面试题,我成功拿到了阿里的offer!
前言 我大概我是从去年12月份开始看书学习,到今年的6月份,一直学到看大家的面经基本上百分之90以上都会,我就在5月份开始投简历,边面试边补充基础知识等.也是有些辛苦.终于是在前不久拿到了阿里的off ...
- 面试阿里,腾讯90%会被问到的zookeeper,把这篇文章看完就够了。
Zookeeper概述 zookeeper高容错数据一致性协议(CP)的分布式小文件系统,提供类似于文件系统的目录方式的数据存储. 全局数据一致性:每个server保存一份相同的数据副本,client ...
- springboot项目启动报错Communications link failure
环境情况,MySQL版本如下: 报错情况如下(看上去是和数据库有关): com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communi ...
- FL Studio通道常规设置
每个通道设置窗口都包含声相.音量.音高和混音音轨等.刚学习FL Studio的同学可能对这些旋钮的功能还不是很了解,所以也就直接导致了不能很好的运用.为了帮助同学进一步熟悉这款软件,小编今天将为大家详 ...
- jQuery 第四章 实例方法 DOM操作_基于jQuery对象增删改查相关方法
.next() .prev() .nextAll() .prevAll() .prevUntil() .nextUntli() .siblings() .children() .parent() .p ...
- 理解go语言的shellcode加载器
序言 本文假设你知道unsafe包常见函数的用法,若否,请查看 https://books.studygolang.com/gopl-zh/ch13/ch13-01.html 第13章. 例子和代码 ...
- python3使用HTMLTestRunner生成测试报告
自动化测试运行完了需要直观的了解测试结果,需要用到第三方的模块HTMLTestRunner. 一:下载 HTMLTestRunner 下载路径:https://pypi.python.org/pypi ...
- python3基础2
# 列表(list.数组).元组.字典 list_ = ["a", "c", 1, 2] print(list_) # list_.append("c ...
- 【P2634】聪聪可可——点分治
(题面来自Luogu) 题目描述 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)--遇到这种问题,一般情况下石头 ...