cURL扩展是什么

CURL 拓展是一个非常强大的开源库,支持许多协议,包含 HTTP、FTP、TELNET 等,大家使用它来推送 HTTP 请求 。它给我们带来的益处是可以用灵便的选项设置不同的 HTTP 协议参数,而且支持 HTTPS 。CURL 可以根据 URL 前缀是“HTTP” 或是“HTTPS”自动选择是否加密推送内容 。

cURL扩展是什么

文章插图
应用 CURL 推送请求的基本流程应用 CURL 的 PHP 拓展完成一个 HTTP 请求的推送一般有以下几个流程:
复位联接句柄;设定 CURL 选项;实行并获取结论;释放 VURL 联接句柄 。以上编码中应用到四个函数
curl_init() 和 curl_close() 各是复位 CURL 连接和关掉 CURL 联接,都比较简单 。
curl_exec() 实行 CURL 请求,要是没有错误产生,该函数的返回是对应 URL 返回的信息,以字符串表示满意;假如发生错误,该函数返回 FALSE 。应注意的是,分辨导出是否为 FALSE 用的是全等号,这是为了区别返回空串和出错的状况 。
CURL 函数库里最主要的函数是 curl_setopt(),它能通过设置 CURL 函数库界定的选项来定制 HTTP 请求 。以上代码片段中用了三个关键的选项:
CURLOPT_URL 特定请求的 URL;
CURLOPT_RETURNTRANSFER 设为 1 表明稍候实施的 curl_exec 函数的返回是 URL 的返回字符串,而非把返回字符串定项到标准输出并返回 TRUE;
【cURL扩展是什么】CURLLOPT_HEADER 设为 0 表示不返回 HTTP 头部信息 。
CURL 的选项还有一些,可以去 PHP 的官网(http://www.php.net/manual/en/function.curl-setopt.php)上查询 CURL 支持的所有选项目录 。
获得 CURL 请求的输出信息在 curl_exec()函数实行以后,可以用 curl_getinfo()函数获得 CURL 请求输出有关信息,示例编码如下:照片
上述编码中 curl_getinfo 返回的是一个关联数组,包括下列数据:
url:IP地址 。content_type:内容编号 。http_code:HTTP 状态码 。header_size:header 大小 。request_size:请求大小 。filetime:文件创建的时间 。ssl_verify_result:SSL 认证结论 。redirect_count:跳转记数 。total_time:总耗时 。namelookup_time:DNS 查看耗时 。connect_time:等候联接耗时 。pretransfer_time:传送前准备耗时 。size_uplpad:上传数据大小 。size_download:下载数据大小 。speed_download:网络速度 。speed_upload:上传速度 。download_content_length:下载内容长度 。upload_content_length:提交内容长度 。starttransfer_time:逐渐传送的时间表 。redirect_time:跳转耗时 。curl_getinfo()函数还有一个可选择参数$opt,通过这些参数能够设置一些常量,对应到上术这一字段,假如设置了第二个参数,那样返回的只有指定信息 。比如设定$opt 为 CURLINFO_TOTAL_TIME,则 curl_getinfo()函数只返回 total_time,即总传送耗费的时长,在只需要考虑一些传送信息时,设定$opt 参数很有意义 。