python--模拟蜂窝网(https)登陆总结
https://2.python-requests.org//zh_CN/latest/user/quickstart.html
1 #用户名密码登陆
1、寻找登陆请求(此处可以故意输错用户名密码,目的是为了能够看清楚重定向的地址)
发现:
点击登陆时,请求了
①、post302:https://passport.mafengwo.cn/login
②、get200:https://passport.mafengwo.cn/ 两个请求(request)携带的cookies都是一样的
但返回(response)的cookies为空-----因为登陆不成功
提取到的信息:
request header:
:authority:passport.mafengwo.cn
:method:POST
:path:/login
:scheme:https
accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
accept-encoding:gzip, deflate
accept-language:zh-CN,zh;q=0.8
cache-control:max-age=0
content-length:28
content-type:application/x-www-form-urlencoded
cookie:mfw_uuid=5c64cb93-1d86-90ad-221e-1326749de333; oad_n=a%3A3%3A%7Bs%3A3%3A%22oid%22%3Bi%3A1029%3Bs%3A2%3A%22dm%22%3Bs%3A15%3A%22www.mafengwo.cn%22%3Bs%3A2%3A%22ft%22%3Bs%3A19%3A%222019-02-14+09%3A59%3A47%22%3B%7D; __mfwlv=1550109540; __mfwvn=1; uva=s%3A78%3A%22a%3A3%3A%7Bs%3A2%3A%22lt%22%3Bi%3A1550109587%3Bs%3A10%3A%22last_refer%22%3Bs%3A6%3A%22direct%22%3Bs%3A5%3A%22rhost%22%3Bs%3A0%3A%22%22%3B%7D%22%3B; __mfwurd=a%3A3%3A%7Bs%3A6%3A%22f_time%22%3Bi%3A1550109587%3Bs%3A9%3A%22f_rdomain%22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22f_host%22%3Bs%3A3%3A%22www%22%3B%7D; __mfwuuid=5c64cb93-1d86-90ad-221e-1326749de333; UM_distinctid=168e9ba87c647c-08ff021bcc1d08-4d015463-13c680-168e9ba87c728d; PHPSESSID=9shbteed3ii63dsn2porlmu9u6; mafengwo=77822214db865f501b408c46b6875961_86305484_5c64cd836e4e33.63070874_5c64cd836e4ed4.41668449; mfw_uid=86305484; uol_throttle=86305484; __mfwlt=1550110249
"origin":https://passport.mafengwo.cn
'referer':https://passport.mafengwo.cn/
'upgrade-insecure-requests':1
'user-agent': From Data:
'passport':'136160XXXX';
'password':'SDA';(错误的密码) 若输入正确的用户名密码,再查看返回的(response)的cookies是有值的,说明登陆成功
>>>>代码如下,可运行
#by zhonghui
# -*- coding: utf-8 -*-
import requests;
import sys;
import io;
from bs4 import BeautifulSoup;
import ssl;
ssl._create_default_https_context = ssl._create_unverified_context; Useragents='Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36';
header={
"origin":"https://passport.mafengwo.cn",
"referer":"https://passport.mafengwo.cn/",
"upgrade-insecure-requests":"https://passport.mafengwo.cn/",
'user-agent':Useragents }; def login():
postUrl='https://passport.mafengwo.cn/';
username=input('请输入账号');
PSW=input('请输入密码:'); postData={
'passport':username,
'password':PSW } res=requests.post(postUrl,data=postData,headers=header,verify=False); print('执行成功');
pass; if __name__=='__main__':
login();
#遇到的问题:
请求https时,出现需要证书,提示443错误,根据 ①、关掉电脑上的代理(fillder)---无效
②、尝试导入证书相关模块----无效
pip install cryptography
pip install pyOpenSSL
pip install certifi
③、res=requests.post(postUrl,data=postData,headers=header,verify=False);----无效
④、 代码页加入以下这个------无效
#from requests.packages.urllib3.exceptions import InsecureRequestWarning; # 禁用安全请求警告
#requests.packages.urllib3.disable_warnings(InsecureRequestWarning); ⑤、代码页加入以下-----最终运行成功
14 import ssl;
15 ssl._create_default_https_context = ssl._create_unverified_context; 最终结果:
虽运行成功,但仍提示一个错误,目前未解决,百度了一下,意思是【强烈建议添加证书验证】 这个提示实际并不影响正确的结果,只不过提示如果一直存在也不太美观,所以可以加入下面两行代码。取消警告
from requests.packages.urllib3.exceptions import InsecureRequestWarning
# 禁用安全请求警告
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
-===================总结=============================
想要访问https
①、请求时,加上【verify=False】
②、引入以下代码
import ssl;
ssl._create_default_https_context = ssl._create_unverified_context;
python--模拟蜂窝网(https)登陆总结的更多相关文章
- python模拟大数据登陆
#针对tableu 撰写的大数据框架 #tesseract 识别简单的验证码 不多说 直接上代码 # coding:utf-8 from selenium import webdriver from ...
- python 模拟126邮箱登陆
#coding=utf-8from selenium import webdriverimport time mydriver=webdriver.Firefox()mydriver.get(&quo ...
- python模拟浏览器webdriver登陆网站后抓取页面并输出
关键在于以下两行代码 特别是find_element_by_xpath写法 很多写成 findElementsByXpath不知道是写错了 还是高级版本是这么写的... #webElement = s ...
- Python模拟登陆万能法-微博|知乎
Python模拟登陆让不少人伤透脑筋,今天奉上一种万能登陆方法.你无须精通HTML,甚至也无须精通Python,但却能让你成功的进行模拟登陆.本文讲的是登陆所有网站的一种方法,并不局限于微博与知乎,仅 ...
- Python模拟登陆TAPD
因为在wiki中未找到需要的数据,查询也很迷,打算用python登录tapd抓取所需项目下的wiki数据,方便查找. 2018-9-30 19:12:44 几步走 模拟登录tapd 抓取wiki页左侧 ...
- Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享 支付宝十年账单上的数字有点吓人,但它统计的项目太多,只是想看看到底单纯在淘宝上支出了多少,于是写了段脚本,统计任意时间段淘宝订单的消费情况,看 ...
- Python模拟登陆新浪微博
上篇介绍了新浪微博的登陆过程,这节使用Python编写一个模拟登陆的程序.讲解与程序如下: 1.主函数(WeiboMain.py): import urllib2 import cookielib i ...
- 【py登陆】python模拟登录
用Python模拟登录网站 前面简单提到了 Python 模拟登录的程序,但是没写清楚,这里再补上一个带注释的 Python 模拟登录的示例程序.简单说一下流程:先用cookielib获取cookie ...
- 谈网页游戏外挂之用python模拟游戏(热血三国2)登陆
看web看多了,想写写页游的外挂,其实原理是一样的,就是端口不一样协议字段你不知道,而这也提高了点技术门槛,看我们来一点一点突破这些门槛,这次我们来用python发包模拟flash的客户端登陆. 以热 ...
- [Python] Python 模拟登录,并请求
Python 模拟登录,并请求 # encoding: utf- import requests import socket import time socket.setdefaulttimeout( ...
随机推荐
- springcloud-1: 用官方的pom.xml配置添加依赖失败
在eclipse中用STS生成了一个springcloud应用,pom.xml的核心配置如下: <parent> <groupId>org.springframework.bo ...
- Webapi 跨域 解决解决错误No 'Access-Control-Allow-Origin' header is present on the requested resource 问题
首先是web端(http://localhost:53784) 请求 api(http://localhost:81/api/)时出现错误信息: 查看控制台会发现错误:XMLHttpRequest c ...
- Spring4-@Enable** 注解的实现原理
背景 在前面的工作中使用SpringBoot的时候,我碰到了很多的使用@Enable***注解的地方,使用上也都是加在@Configuration 类注解的类上面,比如: (1)@EnableAuto ...
- pipeline
执行顺序:pipeline 写 pipeline类class Scrapyproject1Pipeline(object): def process_item(self, item, spider): ...
- Django makemigrations 不行时
- linux云主机cpu一直很高降不下来,系统日志报nf_conntrack: table full, dropping packet.
在启用了iptables web服务器上,流量高的时候经常会出现下面的错误: ip_conntrack: table full, dropping packet 这个问题的原因是由于web服务器收到了 ...
- v-html里面添加样式
项目中,使用V-html渲染的页面,要添加样式,改如何做 解决方案1:在updated生命周期函数中,js动态配置样式,代码如下: updated() { $('.msgHtmlBox').find( ...
- LuoGu P2002 消息扩散
题目传送门 这个题其实就是tarjan缩点的板子题对吧....至少我是这么想的 首先这是个有向图,对于一个有向图,我们肯定要考虑环的存在与否,恰好这个题又是让我们找出最少的点,使得这几个点能够走遍全图 ...
- nodejs和ionic小助手
nodejs已经安装完成的情况下,安装ionic小助手 win+r打开cmd. 命令: 1.node -v(查看版本信息) 2.npm -v(查看版本信息) 3.npm install -g cnpm ...
- centos7搭建smb服务
1 yum install samba samba-client samba-common -y 安装smb服务 2 cp -a /etc/samba/smb.conf /etc/samba/sm ...
