通过抓包实现Python模拟登陆各网站的原理分析是怎样的

技术通过抓包实现Python模拟登陆各网站的原理分析是怎样的这篇文章将为大家详细讲解有关通过抓包实现Python模拟登陆各网站的原理分析是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相

本文将详细讲解Python通过抓取包来模拟登录各种网站的原理分析。本文内容质量较高,边肖分享供参考。希望你看完这篇文章后有所了解。

一、教程介绍

1.1基本介绍(Python学习资料可以通过私信编辑器001、002、003、007中的任意一个获取)

通过对登录过程的分析,利用Python实现对实验提供的某个网站的模拟登录,在实验过程中,我们将学习和练习Python的网络编程、Python的模拟登录方法,以及Firefox的数据包捕获和分析插件分析网络数据包等知识。

登录模拟可以帮助用户自动完成很多操作,在不同的场合有不同的用途。无论是自动化一些日常繁琐的操作,还是在爬虫中使用,都是一项非常实用的技能。本课程由Firefox和Python实现,环境要求如下:

Python库:urllib,http.cookiejar,Django

Firefox要求:安装实时http头插件(已提供)

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

1.3材料

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

1.4准备

1)安装包抓取插件Live Http Headers。

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

2)启动网络应用程序

使用ps -aux | grep codebox查询获取codebox的进程号,然后使用kill -9进程号停止codebox进程。实施过程见下图:

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

首先,安装django,即demo所依赖的web框架,并测试安装是否成功:

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

成功启动后,在浏览器中输入http://localhost:8000/polls即可看到登录页面,表示启动成功。

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

其次,分析登录过程

通过编程实现登录,首先需要了解一般Web应用的登录流程。

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

2.1抓取请求

通过抓包实现Python模拟登陆各网站的原理分析是怎样的

2.2原理分析

img src="https://cache.yisu.com/upload/information/20200703/144/40408.jpg" alt="通过抓包实现Python模拟登陆各网站的原理分析是怎样的">

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  为什么是2个请求而不是1个呢?通过分析登录请求发现,登陆成功之后服务器发送了302重定向响应,服务器要求浏览器重新请求首页,这就产生了第二个请求。再来分析第二个请求,可以看到它相比登录请求多了一个请求头:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  整个登录流程如下图所示:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  服务器到底是如何区别不同用户的session的?为什么登陆成功会后要回写cookie呢?

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  2.3小结

  对于服务器来说,登录=验证+写session。对于浏览器来说,登录=发送登录信息+获取带sessionid的cookie。可以说,只要获得了sessionid,就算实现了模拟登录。有了它我们便可以游离于系统之中。

  三、使用Python实现登录(简单实例)

  理解了登录过程的原理和细节之后,开始用Python来编写模拟登陆程序吧。

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  3.1导入模块

  不要忘记编写文件头、导入必要的依赖模块

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  3.2构造登录请求

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  登录请求的实体部分如下:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  全部Python代码:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  附加参数

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  防盗链

  Web 应用的资源都是有url的,只要获得了url就能够在任何地方引用。听起来很方便,但这可能会导致你的资源被别人盗用。

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  3.3发送请求并保存cookie

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  Python代码如下:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  如果登陆成功

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  就可以在指定的文件my_cookies.txt中看到sessionid了。

  3.4 使用cookie访问系统服务

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  在我们模拟登录成功后,就可以直接通过opener打开这个url来使用这项系统服务。代码实现如下:

  通过抓包实现Python模拟登陆各网站的原理分析是怎样的

  如果有是在另外一个python文件中使用这个cookie的话,再打开url之前需要先载入cookie:

关于通过抓包实现Python模拟登陆各网站的原理分析是怎样的就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/133811.html

(0)

相关推荐

  • ts在项目中的使用-三斜线引入 与 import区别

    技术ts在项目中的使用-三斜线引入 与 import区别 ts在项目中的使用-三斜线引入 与 import区别ts 在项目中的使用
    本次分享内容只涉及项目初始阶段如何引入ts及依赖插件的ts。
    ts为类

    礼包 2021年12月24日
  • Oracle中怎么保证用户只有一个Session登录

    技术Oracle中怎么保证用户只有一个Session登录小编给大家分享一下Oracle中怎么保证用户只有一个Session登录,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

    攻略 2021年11月18日
  • Vue开发必须知道的技巧有哪些

    技术Vue开发必须知道的技巧有哪些这篇文章主要介绍“Vue开发必须知道的技巧有哪些”,在日常操作中,相信很多人在Vue开发必须知道的技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年10月20日
  • c++编译器(c++培训)

    技术怎么使用VS2022开发在线远程编译部署的C++程序这篇文章主要介绍“怎么使用VS2022开发在线远程编译部署的C++程序”,在日常操作中,相信很多人在怎么使用VS2022开发在线远程编译部署的C++程序问题上存在疑

    攻略 2021年12月16日
  • 个人面试小总结之一

    技术个人面试小总结之一 个人面试小总结之一基础
    值传递和引用传递的区别
    值传递:指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,那么我们的实际参数不会改变
    引用传递:指在调

    礼包 2021年12月5日
  • 直流电源符号,直流电和交流电怎么区分

    技术直流电源符号,直流电和交流电怎么区分直流电(DC)和交流电(AC)直流电源符号,都知道其定义,但很抽象,具体在发电机中是怎么工作的呢,下面我们来分享一下直流电与交流电的工作原理。工具/原料手摇发电机方法/步骤简单讲,

    生活 2021年10月23日