php配置curl
① php 使用 CURL 详解
使用PHP的CURL扩展进行HTTP请求发送,通常涉及以下步骤:
首先,初始化CURL连接句柄;
接着,设置CURL选项;
然后,执行请求并获取结果;
最后,释放CURL连接句柄。
以下是一个使用CURL发送HTTP请求的典型示例代码片段。
初始化和关闭CURL连接的函数分别是curl_init()和curl_close(),操作较为简便。
执行CURL请求的函数是curl_exec()。若请求成功,函数返回URL的响应数据;若出现错误,则返回FALSE。注意,使用全等号判断输出是否为FALSE,以区分返回空串和出错的情况。
curl_setopt()函数是CURL库中最重要的函数,可以通过设置CURL选项来自定义HTTP请求。在示例代码中,使用了以下三个重要选项:
CURLOPT_URL:指定请求的URL;
CURLOPT_RETURNTRANSFER:设置为1,使curl_exec()函数的返回值是URL的返回字符串,而非将返回字符串输出到标准输出;
CURLOPTLOPT_HEADER:设置为0,表示不返回HTTP头部信息。
PHP官方网站(php.net/manual/en/funct...)提供了CURL支持的所有选项列表。
使用curl_getinfo()函数可以获取CURL请求输出的相关信息。该函数返回一个关联数组,包含如网络地址、内容编码、HTTP状态码等数据。
curl_getinfo()函数还有一个可选参数opt,通过设置常量,可以返回指定字段的信息。例如,设置opt为CURLINFO_TOTAL_TIME,则只返回总传输消耗的时间。
使用CURL发送GET请求时,需要拼装格式正确的URL。PHP提供了http_build_query函数,用于将关联数组转换为GET请求字符串。结合CURL发送HTTP请求的一般流程,可以创建一个发送GET请求的函数。
使用CURL发送POST请求时,可以通过设置CURLOPT_POSTFIELDS选项,将POST字符串数据放在请求正文中。同时,设置CURL_POST为true,标识请求为POST请求。在POST请求中,也可以传输GET数据,只需在URL中拼装GET请求数据即可。