php的curl抓包

在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>

请求的结果如下图:

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

时间: 2024-08-02 02:50:12

php的curl抓包的相关文章

suricata抓包方式之一 AF_PACKET

1.前言 linux提供了原始套接字RAW_SOCKET,可以抓取数据链路层的报文.这样可以对报文进行深入分析.今天介绍一下AF_PACKET的用法,分为两种方式.第一种方法是通过套接字,打开指定的网卡,然后使用recvmsg读取,实际过程需要需要将报文从内核区拷贝到用户区.第二种方法是使用packet_mmap,使用共享内存方式,在内核空间中分配一块内核缓冲区,然后用户空间程序调用mmap映射到用户空间.将接收到的skb拷贝到那块内核缓冲区中,这样用户空间的程序就可以直接读到捕获的数据包了.P

python Pycurl 库 —— 实现对网站抓包分析

经常使用基调网络的同学,可能对基调网络对页面元素的性能展示感觉很好.它可以做到对一条URL做详细的检测,包括:阻塞时间.DNS解析时间.建立连接时间.SSL握手时间.发出请求时间.首包时间等. 其实,我们也可以做到.比如Python pycurl 库就可以做到对数据的收集,然后可以对收集的数据写入redis或者Mysql.最后前端使用echars通过图形的形式进行展示出来. echars是百度一个开源项目,功能很强大(项目URL:http://echarts.baidu.com)可以将数据通过各

Wireshark抓包分析/TCP/Http/Https及代理IP的识别

Web 代理(proxy)服务器是网络的中间实体.代理位于客户端和服务器之间,扮演 "中间人"的角色,在各端点之间来回传送 HTTP 报文.本章介绍了所有与 HTTP 代理服务器有关的内容,为代理特性提供的特殊支持,以及使用代理服务器时会遇 到的一些棘手的问题.   -引用自<HTTP权威指南> 代理的应用想必大家都很熟悉了,不再过多的描述,简单上图达意. 1:FQ 2:ANONYMOUS 3:"提升网速" 哈,这个不说大家也明白,以前在学校宿舍里的小伙

基于HTTP访问特定URL的抓包程序该怎么写

抓包是一个简单易行的事,它可以帮你分析网络的行为.我记得早在2004年的时候,老师就讲过抓包有多么重要.        作为程序员而言,除了抓包几乎没有任何手段探测网络行为,程序员没有机会触摸网络设备,也就没有能力洞悉网络细节,程序员唯一能触摸到的就是自己的终端,在这个终端上唯一能做的就是抓包.我是半个程序员,所以不管站在谁的立场上,我都认为抓包是一个重要的事,虽然在我内心看来,抓包和分析数据包解决不了大多数的问题....        在一台承载大量业务的机器上怎么抓包成了一个问题.因为虚拟主

转:tcpdump抓包分析(强烈推荐)

评:示例详细,还有很不错的图解 转自:https://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666539134&idx=1&sn=5166f0aac718685382c0aa1cb5dbca45&scene=5&srcid=0527iHXDsFlkjBlkxHbM2S3E#rd 转自:http://www.jianshu.com/p/8d9accf1d2f1 1 起因 前段时间,一直在调线上的一个问题:线上应用

Web协议详解与抓包实战:如何用Chrome的Network面板分析HTTP报文

一.Chrome 抓包:Network 面板 1. Network 面板 • 控制器:控制面板的外观与功能• 过滤器:过滤请求列表中显示的资源• 按住 Command (Mac)或 Ctrl (Window / Linux),然后点击过滤器可以同时选择多个过滤器• 概览:显示 HTTP 请求.响应的时间轴• 请求列表:默认时间排序,可选择显示列• 概要:请求总数.总数据量.总花费时间等 2.控制器 要跨页面加载保存请求Preserve log 用户的网络比较差的时候问题就可以复现 二.过滤器 1

【转】Fiddler抓包指南:结合Proxifier工具

本文转自:https://blog.csdn.net/china_jeffery/article/details/93000824 本文介绍如何使用Fiddler抓取HTTP和HTTPS协议的包,同时还介绍了如何结合Proxifier工具来处理Filddler无法抓取到包的情况. 一.HTTP基本抓包 Fiddler官网下载安装:https://www.telerik.com/fiddler 对浏览器的抓包,就不再赘述,打开这个软件就一目了然了,本文主要讲对普通Windows桌面应用程序的抓包,

Google Chrome抓包分析详解

Google Chrome抓包分析详解 一:什么是抓包 即抓取我们本地电脑与远端服务器通信时候所传递的数据包 二:Chrome浏览器讲解 Chrome 开发者工具是一套内置于Google Chrome中的Web开发和调试工具,可用来对网站进行迭代.调试和分析 三:打开Chrome开发者工具 在Chrome界面按F12 or在页面元素上右键点击,选择“检查” 四:开发者工具的结构 Elements(元素面板):使用“元素”面板可以通过自由操纵DOM和CSS来重演您网站的布局和设计. Console

10.6 监控io性能 - 10.7 free命令 - 10.8 ps命令 - 10.9 查看网络状态 - 10.10 linux下抓包

- 10.6 监控io性能 - 10.7 free命令 - 10.8 ps命令 - 10.9 查看网络状态 - 10.10 linux下抓包 - 扩展tcp三次握手四次挥手 http://www.doc88.com/p-9913773324388.html  - tshark几个用法:http://www.aminglinux.com/bbs/thread-995-1-1.html  # 10.6 监控io性能 ![mark](http://oqxf7c508.bkt.clouddn.com/b