企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
详情参考函数参考----其他服务----cURL [cURL 函数](https://php.net/manual/zh/ref.curl.php) **[curl\_close](https://php.net/manual/zh/function.curl-close.php)** — 关闭 cURL 会话 [curl\_copy\_handle](https://php.net/manual/zh/function.curl-copy-handle.php) — 复制一个cURL句柄和它的所有选项 [curl\_errno](https://php.net/manual/zh/function.curl-errno.php) — 返回最后一次的错误代码 [curl\_error](https://php.net/manual/zh/function.curl-error.php) — 返回当前会话最后一次错误的字符串 [curl\_escape](https://php.net/manual/zh/function.curl-escape.php) — 使用 URL 编码给定的字符串 [curl\_exec](https://php.net/manual/zh/function.curl-exec.php) — 执行 cURL 会话 [curl\_file\_create](https://php.net/manual/zh/function.curl-file-create.php) — 创建一个 CURLFile 对象 [curl\_getinfo](https://php.net/manual/zh/function.curl-getinfo.php) — 获取一个cURL连接资源句柄的信息 **[curl\_init](https://php.net/manual/zh/function.curl-init.php)** (url=null)— 初始化 cURL 会话 [curl\_multi\_add\_handle](https://php.net/manual/zh/function.curl-multi-add-handle.php) — 向curl批处理会话中添加单独的curl句柄 [curl\_multi\_close](https://php.net/manual/zh/function.curl-multi-close.php) — 关闭一组cURL句柄 [curl\_multi\_errno](https://php.net/manual/zh/function.curl-multi-errno.php) — 返回上一次 curl 批处理的错误码 [curl\_multi\_exec](https://php.net/manual/zh/function.curl-multi-exec.php) — 运行当前 cURL 句柄的子连接 [curl\_multi\_getcontent](https://php.net/manual/zh/function.curl-multi-getcontent.php) — 如果设置了CURLOPT\_RETURNTRANSFER,则返回获取的输出的文本流 [curl\_multi\_info\_read](https://php.net/manual/zh/function.curl-multi-info-read.php) — 获取当前解析的cURL的相关传输信息 [curl\_multi\_init](https://php.net/manual/zh/function.curl-multi-init.php) — 返回一个新cURL批处理句柄 [curl\_multi\_remove\_handle](https://php.net/manual/zh/function.curl-multi-remove-handle.php) — 移除cURL批处理句柄资源中的某个句柄资源 [curl\_multi\_select](https://php.net/manual/zh/function.curl-multi-select.php) — 等待所有cURL批处理中的活动连接 [curl\_multi\_setopt](https://php.net/manual/zh/function.curl-multi-setopt.php) — 为 cURL 并行处理设置一个选项 [curl\_multi\_strerror](https://php.net/manual/zh/function.curl-multi-strerror.php) — 返回字符串描述的错误代码 [curl\_pause](https://php.net/manual/zh/function.curl-pause.php) — 暂停和取消暂停一个连接。 [curl\_reset](https://php.net/manual/zh/function.curl-reset.php) — 重置一个 libcurl 会话句柄的所有的选项 [curl\_setopt\_array](https://php.net/manual/zh/function.curl-setopt-array.php) — 为 cURL 传输会话批量设置选项 **[curl\_setopt](https://php.net/manual/zh/function.curl-setopt.php)($resource\_ch,$options,$options\_value)**— 设置 cURL 传输选项 [curl\_share\_close](https://php.net/manual/zh/function.curl-share-close.php) — 关闭 cURL 共享句柄 [curl\_share\_errno](https://php.net/manual/zh/function.curl-share-errno.php) — 返回共享 curl 句柄的最后一次错误号 [curl\_share\_init](https://php.net/manual/zh/function.curl-share-init.php) — 初始化一个 cURL 共享句柄。 [curl\_share\_setopt](https://php.net/manual/zh/function.curl-share-setopt.php) — 为 cURL 共享句柄设置选项。 [curl\_share\_strerror](https://php.net/manual/zh/function.curl-share-strerror.php) — 返回错误号对应的错误消息 [curl\_strerror](https://php.net/manual/zh/function.curl-strerror.php) — 返回错误代码的字符串描述 [curl\_unescape](https://php.net/manual/zh/function.curl-unescape.php) — 解码给定的 URL 编码的字符串 [curl\_version](https://php.net/manual/zh/function.curl-version.php) — 获取 cURL 版本信息 ## **curl模拟http请求** ``` function curl($url, $data = null){ // 1.创建一个新的CURL资源 $ch = curl_init(); // 2.设置URL相应的选项 设置请求的URL地址 curl_setopt($ch, CURLOPT_URL, $url); // 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出(0为直接输出) curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 启用时会将头文件的信息作为数据流输出 //curl_setopt($ch, CURLOPT_HEADER, 0); // 设置cURL允许执行的最长秒数 curl_setopt($ch, CURLOPT_TIMEOUT, 10); //存在data就启用post发送 启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。 curl_setopt($ch, CURLOPT_POST, $data ? 1 : 0);//发送方式 curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//请求时发送的内容 //忽略证书 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //3.抓去URL并将它传递给浏览器 $output = curl_exec($ch); //4.关闭CURL资源,并且释放系统资源 curl_close($ch); //返回输出 return $output; } ``` ## [**curl 文件上传**](https://www.cnblogs.com/lichihua/p/10503222.html) **curl\_file\_create** (带路径的文件名 \[, 文件`mimetype` , 上传数据里的文件名\] ) ; new **cURLFile**(带路径的文件名 \[, 文件的`mimetype` , 上传数据里的文件名\] ) ; ~~~ $ch = curl_init('http://example.com/upload.php'); // 创建CURLFile对象 $cfile = curl_file_create('/data/cats.jpg','image/jpeg','test_name'); // 分配提交的数据 $data = array('test_file' => $cfile); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch); ~~~ upload.php接受到的数据格式类似: ~~~ array(1) { ["test_file"]=> array(5) { ["name"]=> string(9) "test_name" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(14) "/tmp/phpPC9Kbx" ["error"]=> int(0) ["size"]=> int(46334) } } ~~~