通过抓包实现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)

相关推荐

  • linux ubuntu怎么安装mysql

    技术linux ubuntu怎么安装mysql这篇文章主要讲解了“linux ubuntu怎么安装mysql”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux ub

    攻略 2021年11月26日
  • Java处理Exception的方法有哪些

    技术Java处理Exception的方法有哪些这篇文章主要讲解了“Java处理Exception的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java处理Ex

    攻略 2021年11月30日
  • 怎样用Jbuilder 2005开发Java Applet应用

    技术怎样用Jbuilder 2005开发Java Applet应用今天就跟大家聊聊有关怎样用Jbuilder 2005开发Java Applet应用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希

    攻略 2021年12月2日
  • 二分图

    技术二分图 二分图二分图
    定义
    二分图,又称二部图,英文名叫 Bipartite graph。
    二分图是什么节点由两个集合组成,且两个集合内部没有边的图。
    换言之,存在一种方案,将节点划分成满足以上性质

    礼包 2021年11月24日
  • Python中多线程和多处理的分析

    技术Python中多线程和多处理的分析本篇内容主要讲解“Python中多线程和多处理的分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中多线程和多处理的分析”吧

    攻略 2021年11月3日
  • Python如何实现列表映射后的平均值

    技术Python如何实现列表映射后的平均值这篇文章主要介绍了Python如何实现列表映射后的平均值,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、ave

    攻略 2021年11月11日