网站首页 > 基础教程 正文
1.CURL介绍
CURL是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS。CURL可以根据URL前缀是“HTTP” 还是“HTTPS”自动选择是否加密发送内容。
2.使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤:
(1)初始化连接句柄;
初始化 函数 curl_init()
(2)设置CURL选项;
设置变量 curl_setopt() //有一长串curl参数可供设置,它们能指定URL请求的各个细节。这个是最重要的选项比较多,所以我们只试一下那些更常用也更有用的选项。
(3)执行并获取结果;
curl_exec()
(4)释放VURL连接句柄。
curl_close()
3.使用GET方式发送请求
login页面返回的GET信息
4.用POST方式发送请求
login页面返回的POST信息
源代码
//GET方式
//初始化
$curl = curl_init();
$get = "id=1&&name=admin";
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, "http://localhost/BasicPHP/study/curl/login.php?$get");
//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, 1);
//设置获取的信息以文件流的形式返回,而不是直接输出 如果是0则直接显示到网页上 。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//执行命令
$data = curl_exec($curl);
//关闭URL请求
curl_close($curl);
//显示获得的数据
print_r($data);
----------------------------------------------------
//Post方式实现
$user = "admin";
$pass = "123456";
$data = "user=$user&pass=$pass";
$ch = curl_init(); //初始化一个CURL对象
curl_setopt($ch, CURLOPT_URL, "http://localhost/BasicPHP/study/curl/login.php");
//设置你所需要抓取的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
//设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中
//假设上面的0换成1的话,那么接下来的$data就需要echo一下。
curl_setopt($ch, CURLOPT_POST, 1);
//post提交
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$data = curl_exec($ch);
//运行curl,请求网页。
curl_close($ch);欢迎加qun 598394989
谢谢您耐心的阅读,以上就是简单的示例下期我们将继续探索CURL上传文件。
猜你喜欢
- 2024-11-03 10个 ThinkPHP 开发常用代码片段 thinkphp codeigniter
- 2024-11-03 DEDECMS织梦系统接入熊掌号推送api,完整详细教程
- 2024-11-03 PHP-cUrl模拟HTTP的PUT,PATCH请求
- 2024-11-03 漏洞系列一一看我一招征服漏洞 SSRF
- 2024-11-03 少侠说好的CURL上传文件说来就来 北极狐上海专柜
- 2024-11-03 PHP使用curl抓取新闻数据 php curl获取header
- 2024-11-03 如何使用钉钉机器人定时推送 钉钉机器人定时发送消息
- 2024-11-03 curl模拟http请求范例详析 curl访问https
- 2024-11-03 PHP Curl https跳过ssl证书认证报错记录及解决
- 2024-11-03 PHP模拟登录时跳过HTTPS验证的方法
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)