PHP中的curl网络请求
来源:互联网 发布:网络存储工程师 编辑:程序博客网 时间:2024/04/30 11:06
在php中有很多方法可以获取某个url的内容,例如:
$content1 = file_get_contents("https://www.baidu.com");echo $content1;$content2 = file("https://www.baidu.com");print_r($content2);readfile("https://www.baidu.com");
但是这几个函数不够灵活,如果想要进行
(1)错误处理;
(2)向某个服务器提交表单数据,上传文件;
(3)处理cookies或者认证等任务时。
以上三个函数根本没法完成。
这个时候,就要使用cURL了。cURl不但支持很多的网络协议,而且提供了关于url请求的具体信息,很强大!通过cURL,我们能在php程序中自由地发送HTTP请求到某个url来获取或者提交数据。cURl的便捷及强大之处,你可以对curl_setopt进行一系列参数设置。
//设置网络请求配置function urlrequest($curl,$https=true,$method='GET',$data=null){//1.创建一个新cURL资源$ch = curl_init();//2.设置URL和相应的选项//要访问的网站curl_setopt($ch, CURLOPT_URL, $curl);//启用时会将头文件的信息作为数据流输出。 curl_setopt($ch, CURLOPT_HEADER, false); //将curl_exec()获取的信息以字符串返回,而不是直接输出。curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); if($https){//FALSE 禁止 cURL 验证对等证书(peer's certificate)。curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); //验证主机}if($method == 'POST'){//发送 POST 请求curl_setopt($ch, CURLOPT_POST, true); //全部数据使用HTTP协议中的 "POST" 操作来发送。curl_setopt($ch, CURLOPT_POSTFIELDS, $data); }//3.抓取URL并把它传递给浏览器$content = curl_exec($ch);if ($content === false) { return "网络请求出错: " . curl_error($ch); exit();}//4.关闭cURL资源,并且释放系统资源curl_close($ch);return $content;}
curl 是使用URL语法的传送文件工具,支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP 上传,kerberos、基于HTT格式的上传、代理、cookie、用户+口令证明、文件传送恢复、http代理通道和大量其他有用的技巧 。
0 0
- PHP中的curl网络请求
- shell中的curl网络请求
- php 中的网络应用 CURL函数库学习
- 通过curl的并发机制实现php批量网络请求
- php curl请求转发
- PHP - CURL 模拟请求
- PHP CURL 发送请求
- php curl请求
- php curl 批量请求
- PHP curl请求https
- php curl 请求
- php curl 接口请求
- PHP CURL 模拟请求
- 基于curl的并行请求,实现php中的伪多线程
- PHP CURL发送POST请求
- php curl携带 cookie 请求
- php通过curl请求api
- PHP 的curl 请求https
- nginx_rtmp_module初体验
- 理解装饰者模式
- 编程相关命令
- html属性(1)
- SPI,MCP2515调试总结
- PHP中的curl网络请求
- java的四种引用
- ipcs命令
- 什么是全连接神经网络
- Wireshark网络抓包(三)——网络协议
- OpenGL核心技术之混合技术
- 使用keepalived搭建高可用LVS集群
- java关键字中static、final的使用总结
- String对象与java字符串池——到底创建了几个String对象