php的curl抓包

WBOY
WBOYOriginal
2016-06-23 13:29:461827Durchsuche

在PHP中实现抓包有两种方式,一个是使用file_get_contents()函数采集页面内容,另一种就是curl

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>

请求的结果如下图:

版权声明:本文为博主原创文章,未经博主允许不得转载。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn