cURL扩展是什么

CURL extension是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等。用它来发送HTTP请求。它给我们带来的好处就是可以通过灵活的选项设置不同的HTTP协议参数,支持H

本文最后更新时间:  2023-04-11 02:39:03

CURL extension是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等。用它来发送HTTP请求。它给我们带来的好处就是可以通过灵活的选项设置不同的HTTP协议参数,支持HTTPS。

CURL extension是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等。我们用它来发送HTTP请求。它给我们带来的好处就是可以通过灵活的选项设置不同的HTTP协议参数,支持HTTPS。CURL可以根据URL前缀是“HTTP”还是“HTTPS”自动选择是否对发送的内容进行加密。

使用CURL发送请求的基本过程

使用CURL的PHP扩展发送HTTP请求通常有以下步骤:

初始化连接句柄;设置卷曲选项;执行并获得结果;松开VURL连接手柄。

上面的代码中使用了四个函数。

CURL_init()和CURL_close()分别简单地初始化CURL连接和关闭CURL连接。

CURL_exec()执行CURL请求。如果没有错误,这个函数返回的是对应URL返回的数据,满意度用字符串表示;如果出现错误,该函数将返回FALSE。需要注意的是,输出是否为假是用完全等号来判断的,用来区分返回空字符串的情况和出错的情况。

CURL库中最重要的函数是CURL_setopt(),它可以通过设置CURL库定义的选项来自定义HTTP请求。上面的代码片段中使用了三个重要选项:

CURLOPT_URL指定请求的URL;

CurlOPT_RETURNTRANSFER设置为1表示后面执行的curl_exec函数的返回是URL的返回字符串,而不是将返回字符串定向到标准输出并返回TRUE;

将CURLLOPT_HEADER设置为0意味着不返回HTTP头信息。

卷曲有很多选择。你可以在PHP官网(http://www . PHP . net/manual/en/function . CURL-setopt . PHP)查看CURL支持的所有选项列表。

获取CURL请求的输出信息。

CURL_exec()函数执行后,可以使用curl_getinfo()函数获取CURL请求输出的相关信息。示例代码如下:图片

上面代码中curl_getinfo返回的是一个包含以下数据的关联数组:

Url:网络地址。内容类型:内容代码。Http_code:HTTP状态代码。Header _ size:标题的大小。请求大小:请求的大小。Filetime:文件创建的时间。Ssl_verify_result:SSL验证结果。Redirect_count:跳转计数。Total_time:总时间消耗。Namelookup_time:DNS查询需要时间。Connect_time:等待连接需要时间。Pretransfer_time:传输前的准备需要时间。Size_uplpad:上传数据的大小。Size_download:下载数据的大小。速度_下载:下载速度。速度_上传:上传速度。Download_content_length:下载内容的长度。上传内容长度:上传内容的长度。Starttransfer_time:开始传输的时间表。Redirect_time:重定向需要时间。

curl_getinfo()函数还有一个可选择参数$opt,通过这个参数可以设置一些常量,对应到上术这个字段,如果设置了第二个参数,那么返回的只有指定的信息。例如设置$opt 为 CURLINFO_TOTAL_TIME,则 curl_getinfo()函数只返回 total_time,即总传输消耗的时间,在只需要关注某些传输信息时,设置$opt 参数很有意义。

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。