广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用python模拟登录
  • 635
分享到

使用python模拟登录

python 2023-01-31 06:01:14 635人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

使用python模拟登录运行环境步骤浏览器阶段思路编码使用Java模拟登录 该方法是一个比较麻烦的方法,但是它不需要浏览器的配合,适合爬虫之类。 而另一种,使用WEBdriver的,使用比这个简单,可以用来做每日签到、打卡之类,使

使用python模拟登录

  • 运行环境
  • 步骤
    • 浏览器阶段
    • 思路
    • 编码
  • 使用Java模拟登录

该方法是一个比较麻烦的方法,但是它不需要浏览器的配合,适合爬虫之类。
而另一种,使用WEBdriver的,使用比这个简单,可以用来做每日签到、打卡之类,使用Python + 相关浏览器的webdriver驱动浏览器进行操作。

本次开发在Windos和linux上均成功,运行环境为:
Linux:python 3.7.2
windows:python 3.7.1

注意,在Linux下make install时候,一定要提前安装好ssl、zlib等,前者使得python支持https,后者保证能顺利安装。别忘了GCc也要提前安装。
以上两个问题可能的解决方案:

yum install openssl-devel
yum install zlib*

浏览器阶段

本次模拟网站:Https://www.bbaaz.com
其登录界面网址为:https://www.bbaaz.com/member.PHP?mod=logging&action=login

先使用浏览器打开,输入用户名、密码,然后F12打开Dev Tools,选择Network选项卡,注意勾选Preserve log,不然可能的情况是,你点了登录,由于package太多的原因,或者跳转新页面,关键的包已经舍弃掉了。
找到关键包,如下图,可以看到很多信息。

Key Package
从package中可以获取到:

Request URL: https://www.bbaaz.com/member.php?mod=logging&action=login&loginsubmit=yes&loginhash=Lm0Hi&inajax=1

Set-Cookie:xxxxx

FORM Data
formhash: xxxxx
referer: https://www.bbaaz.com/
loginfield: username
username: xxxxx
passWord: xxxxx
questionid: 0
answer: 

仔细观察,发现了什么,首先,Request URL带有了一个loginhash,再Form Data中带有了formhash,这些应该是防止非法登录的,那么这些数据哪里来的呢?经过注销,重新打开登陆界面,分析登录界面,可以得知这些信息,都是原登录界面的隐藏信息。

思路

那么我们的思路就是,首先,打开登录界面,从登录界面获取两个Hash值,再打开一个能存放Cookie的Request,给登录URL发送表单,记录返回的Cookie,再打开别的页面的时候,就可以通过Cookie进行访问。

编码

import urllib.request
import http.cookiejar

form = {'formhash': '',
        'referer': 'https://www.bbaaz.com/',
        'loginfield': 'username',
        'username': 'xxxxx',
        'password': 'xxxxx',
        'questionid': '0',
        'answer': ''}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/71.0.3562.0 Safari/537.36'}
loginURL = "https://www.bbaaz.com/member.php?mod=logging&action=login"
query = "&loginsubmit=yes&frommessage&loginhash=xxx&inajax=1"

"""为什么刚开始就直接使用带Cookie的opener呢,经过测试,在打开登录界面的时候,服务器就会向客户端发送3个Cookie,这些Cookie同样有验证作用,如果不带上,那么登录的时候,服务器会返回,含有非法字符,无法登录"""
cookie = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))

req = urllib.request.Request(loginURL, headers = headers)
resp = opener.open(req)
s = resp.read().decode('utf-8')

#获取登录界面的Hash值
s = s.split('<form method=\"post\"', 1)[1].split('name=\"formhash\" value=\"', 1)
suffix = s[0].split("loginform_", 1)[1].split("\"", 1)[0]
formhash = s[1].split("\" />", 1)[0]
query = query.replace('xxx', suffix)
form['formhash'] = formhash
post_form = urllib.parse.urlencode(form).encode('UTF-8')


req = urllib.request.Request(loginURL + query, headers = headers, data = post_form)
opener.open(req)

#你要访问的网页
req = urllib.request.Request(form['referer'], headers = headers)
resp = opener.open(req)
s = resp.read().decode('UTF-8')

经测试,使用该方法,成功模拟登录。

https://blog.csdn.net/yancr/article/details/88762380

--结束END--

本文标题: 使用python模拟登录

本文链接: https://www.lsjlt.com/news/190195.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用python模拟登录
    使用python模拟登录运行环境步骤浏览器阶段思路编码使用Java模拟登录 该方法是一个比较麻烦的方法,但是它不需要浏览器的配合,适合爬虫之类。 而另一种,使用webdriver的,使用比这个简单,可以用来做每日签到、打卡之类,使...
    99+
    2023-01-31
    python
  • python使用Cookie模拟登录
    from bs4 import BeautifulSoup import urllib2 url = 'https://www.douban.com' cookie='ll="118234"; __yadk_uid=FZYkMR92Oct...
    99+
    2023-01-31
    python Cookie
  • python模拟ssh登录
    首先更新pip 然后安装 pycrypto 、 paramiko;pycrypto是paramiko的内部依赖模块 pip3.7 install --upgrade pip pip3.7 install --upgrade pycrypto...
    99+
    2023-01-31
    python ssh
  • Python模拟登录和登录跳转
    # coding:utf-8 import urllib import urllib2 import cookielib from bs4 import BeautifulSoup # 设置登录url login_url = "*...
    99+
    2023-01-31
    跳转 Python
  • 如何用Python模拟登录淘宝
    如何用Python模拟登录淘宝,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python模拟登录淘宝,我知道,肯定是吸引了你,一起来看看吧!看了下网上有很多关于模拟登录淘宝...
    99+
    2023-06-02
  • Python模拟百度登录实例
    原文:http://www.jb51.net/article/78406.htm 记录下来,慢慢学习: 要先获取token,然后再登录 # -*- coding: utf8 -*- import urll...
    99+
    2023-01-31
    实例 Python
  • python模拟get/post请求登录
    今天学习了python模拟登陆,然后自己进行一下总结,以csdn登录为例子,浏览器为Chrome 1:直接携带cookie请求url地址 1.1cookie放在headers中 import requests #1.直接携带cookie...
    99+
    2023-01-31
    python post
  • 利用Python实现模拟登录知乎
    目录环境与开发工具模拟过程概述参数探索模拟源码运行结果结果一:密码错误结果二:验证码错误结果三:成功登录环境与开发工具 在抓包的时候,开始使用的是Chrome开发工具中的Networ...
    99+
    2022-11-12
  • Java使用IO模拟注册登录
    本文实例为大家分享了Java使用IO模拟注册登录的具体代码,供大家参考,具体内容如下 user的pojo类 package cn.lg.pojo; public class Use...
    99+
    2022-11-13
  • python实现网站的模拟登录
    本文主要用python实现了对网站的模拟登录。通过自己构造post数据来用Python实现登录过程。 当你要模拟登录一个网站时,首先要搞清楚网站的登录处理细节(发了什么样的数据,给谁发等...)。我是通过H...
    99+
    2022-06-04
    网站 python
  • 2019年最新 Python 模拟登录知
    知乎的登录页面已经改版多次,加强了身份验证,网络上大部分模拟登录均已失效,所以我重写了一份完整的,并实现了提交验证码 (包括中文验证码),本文我对分析过程和代码进行步骤分解,完整的代码请见末尾 Github 仓库,不过还是建议看一遍正...
    99+
    2023-01-30
    最新 Python
  • python scrapy实现模拟登录功能
    本篇内容介绍了“python scrapy实现模拟登录功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、requests模块。直接携带c...
    99+
    2023-06-20
  • 详解如何用Python模拟登录淘宝
    目录一、淘宝登录流程二、模拟登录实现1.判断是否需要验证码2.验证用户名密码3.申请st码4.使用st码登录5.获取淘宝昵称三、总结1.代码结构2.存在问题看了下网上有很多关于模拟登...
    99+
    2022-11-12
  • python3模拟登录zabbix
    #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib.request import http.cookiejar import urllib.parse # 登录的主页面 ...
    99+
    2023-01-31
    zabbix
  • 使用vbscript怎么模拟登录效果
    这篇文章将为大家详细讲解有关使用vbscript怎么模拟登录效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。On Error Resume NextSet&n...
    99+
    2023-06-08
  • Python模拟登录多种实现方式
    Python模拟登录多种实现方式 基于Python 3.6 #coding:utf-8 import sys import io import urllib.request import http.cookiejar #####...
    99+
    2023-01-31
    多种 方式 Python
  • Python模拟百度登录实例详解
    最近公司产品和百度贴吧合作搞活动,为了增加人气,打算做个自动签到的小程序。这个是测试登录的代码,写的比较随意,仅实现了登录并读取关注贴吧列表,下边的就比较简单。 百度登录还是有点麻烦的,由于用的ssl,所以...
    99+
    2022-06-04
    详解 实例 Python
  • 如何利用Python实现模拟登录知乎
    环境与开发工具在抓包的时候,开始使用的是Chrome开发工具中的Network,结果没有抓到,后来使用Fiddler成功抓取数据。下面逐步来细化上述过程。模拟知乎登录前,先看看本次案例使用的环境及其工具:Windows 7 + Python...
    99+
    2023-05-18
    Python
  • Python之selenium,使用webdriver模拟登录网站(含验证码)
    一、前言 前段时间做了一个小项目,其中有一段需要自动获取网站后台的数据,但是这个网站没有任何提供给开发者的API,所以只能靠自己去探索。 起初想着用发送请求的方式去模拟登陆,获取cookies,从而再获取网站后台数据,但是因为自己太菜了一些...
    99+
    2023-09-29
    python selenium 测试工程师 软件测试 性能测试 自动化测试 测试工具
  • Python编程使用Selenium模拟淘宝登录实现过程
    目录一、利用xpath进行(全程使用)二、代码部分与图片内容一、利用xpath进行(全程使用) driver.find_element_by_xpath() 二、代码部分与图片...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作