cURL是一种功能强大的库, 支持很多不同的协议、选项, 能提供 URL请求相关的各种细节信息
基本步骤:
1.初始化cURL会话
2.设置URL和相应的选项
3.执行并获取结果
4.关闭cURL会话
1.初始化cURL会话
$ch = curl_init();
$ch = curl_init($url = "");
初始化新的会话,返回 cURL 句柄,
供curl_setopt()、curl_exec()和curl_close()函数使用。
如果成功,返回 cURL 句柄,出错返回 FALSE。
2.设置URL和相应的选项
curl_setopt($ch, $option, $value);
ch
由 curl_init() 返回的 cURL 句柄。
option
需要设置的CURLOPT_XXX选项。
value
将设置在option选项上的值。
选项option | value | 注释 |
---|---|---|
CURLOPT_AUTOREFERER | true | 将根据 Location重定向时,自动设置 header 中的Referer信息 |
CURLOPT_BINARYTRANSFER | true | 将在启用 CURLOPT_RETURNTRANSFER 时,返回原生的(Raw)输出。从 PHP 5.1.3 开始,此选项不再有效果,使用 CURLOPT_RETURNTRANSFER 后总是会返回原生的(Raw)内容。 |
CURLOPT_COOKIESESSION | true | 将开启新的一次 cookie 会话。它将强制 libcurl 忽略之前会话时存的其他 cookie。 libcurl 在默认状况下无论是否为会话,都会储存、加载所有 cookie。会话 cookie 是指没有过期时间,只存活在会话之中。 |
CURLOPT_CERTINFO | true | 将在安全传输时输出 SSL 证书信息到 STDERR。在 cURL 7.19.1 中添加。 PHP 5.3.2 后有效。 需要开启 CURLOPT_VERBOSE 才有效。 |
CURLOPT_CONNECT_ONLY | true | 将让库执行所有需要的代理、验证、连接过程,但不传输数据。此选项用于 HTTP、SMTP 和 POP3。在 7.15.2 中添加。 PHP 5.5.0 起有效。 |
CURLOPT_CRLF | true | 将Unix的换行符转换成回车换行符 |
CURLOPT_DNS_USE_GLOBAL_CACHE | true | 启用一个全局的DNS缓存。此选项非线程安全的,默认已开启 |
CURLOPT_FAILONERROR | true | 当 HTTP 状态码大于等于 400,TRUE 将将显示错误详情。 默认情况下将返回页面,忽略 HTTP 代码。 |
CURLOPT_SSL_FALSESTART | true | 开启 TLS False Start (一种 TLS 握手优化方式)cURL 7.42.0 中添加。自 PHP 7.0.7 起有效 |
CURLOPT_FILETIME | true | 会尝试获取远程文档中的修改时间信息。 信息可通过curl_getinfo()函数的CURLINFO_FILETIME 选项获取。 |