php的curl抓包
2015-07-28 22:44
621 查看
在PHP中实现抓包有两种方式,一个是使用file_get_contents()函数采集页面内容,另一种就是curl
1、初始化,创建一个新的curl资源(即:curl_init())
2、设置URL和相应的选项(即:curl_setopt() )
3、抓取URL并把它传递给浏览器(即:curl_exec())
4、关闭curl资源,并且释放系统资源(即:curl_close())
请求的结果如下图:
CURL请求过程
curl完成请求主要是分为以下四步:1、初始化,创建一个新的curl资源(即:curl_init())
2、设置URL和相应的选项(即:curl_setopt() )
3、抓取URL并把它传递给浏览器(即:curl_exec())
4、关闭curl资源,并且释放系统资源(即:curl_close())
CURL提交get请求
curl抓包最简单的一个例子,抓取页面内容(按着上面的四个步骤): $init = curl_init(); $url = "http://xiongchao.net.cn/"; curl_setopt($init,CURLOPT_URL,$url); $res = curl_exec($init); curl_close($init); echo $res; 注:第二步只最关键的一部分,在这里可以设置一些高级选项,例如:CURLOPT_HEADER,CURLOPT_POST等选项 curl_setopt()的参数介绍: [http://php.net/manual/zh/function.curl-setopt.php](http://php.net/manual/zh/function.curl-setopt.php)
CURL提交post请求
<html> <head> <meta charset=gbk> </head> <body> <form action="" method="post"> 账号:<input type="text" name="user"> <br> 密码:<input type="password" name="password"> <br> <input type="submit" name="login" value="登录"> </form> </body> <?php if($_POST){ $login = $_POST["user"]; $password = $_POST["password"]; $url = "http://xiongchao.net.cn/admin.php/Login/do_login"; $fields = "login_name=".$login."&password=".$password; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_HEADER,0);//设置header 1:输出header信息 0:不输出header信息 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//要求结果为字符串且输出到屏幕上 curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); $result = curl_exec($ch); curl_close($ch); echo $result; } ?> </html>
请求的结果如下图:
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- PHP VBS JS 函数 对照表
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- php xml 入门学习资料