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)登陆总结的更多相关文章

  1. python模拟大数据登陆

    #针对tableu 撰写的大数据框架 #tesseract 识别简单的验证码 不多说  直接上代码 # coding:utf-8 from selenium import webdriver from ...

  2. python 模拟126邮箱登陆

    #coding=utf-8from selenium import webdriverimport time mydriver=webdriver.Firefox()mydriver.get(&quo ...

  3. python模拟浏览器webdriver登陆网站后抓取页面并输出

    关键在于以下两行代码 特别是find_element_by_xpath写法 很多写成 findElementsByXpath不知道是写错了 还是高级版本是这么写的... #webElement = s ...

  4. Python模拟登陆万能法-微博|知乎

    Python模拟登陆让不少人伤透脑筋,今天奉上一种万能登陆方法.你无须精通HTML,甚至也无须精通Python,但却能让你成功的进行模拟登陆.本文讲的是登陆所有网站的一种方法,并不局限于微博与知乎,仅 ...

  5. Python模拟登陆TAPD

    因为在wiki中未找到需要的数据,查询也很迷,打算用python登录tapd抓取所需项目下的wiki数据,方便查找. 2018-9-30 19:12:44 几步走 模拟登录tapd 抓取wiki页左侧 ...

  6. Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享

    Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享 支付宝十年账单上的数字有点吓人,但它统计的项目太多,只是想看看到底单纯在淘宝上支出了多少,于是写了段脚本,统计任意时间段淘宝订单的消费情况,看 ...

  7. Python模拟登陆新浪微博

    上篇介绍了新浪微博的登陆过程,这节使用Python编写一个模拟登陆的程序.讲解与程序如下: 1.主函数(WeiboMain.py): import urllib2 import cookielib i ...

  8. 【py登陆】python模拟登录

    用Python模拟登录网站 前面简单提到了 Python 模拟登录的程序,但是没写清楚,这里再补上一个带注释的 Python 模拟登录的示例程序.简单说一下流程:先用cookielib获取cookie ...

  9. 谈网页游戏外挂之用python模拟游戏(热血三国2)登陆

    看web看多了,想写写页游的外挂,其实原理是一样的,就是端口不一样协议字段你不知道,而这也提高了点技术门槛,看我们来一点一点突破这些门槛,这次我们来用python发包模拟flash的客户端登陆. 以热 ...

  10. [Python] Python 模拟登录,并请求

    Python 模拟登录,并请求 # encoding: utf- import requests import socket import time socket.setdefaulttimeout( ...

随机推荐

  1. nginx https配置记录

    一.证书生成: 要有两个文件,一个私钥,一个证书. 私钥:-----BEGIN PRIVATE KEY----- 开始 证书:-----BEGIN CERTIFICATE----- 开始 二.Ngin ...

  2. 前端-----margin用法(盒子模型里补充)

    margin塌陷问题 当时说到了盒模型,盒模型包含着margin,为什么要在这里说margin呢?因为元素和元素在垂直方向上margin里面有坑. 我们来看一个例子: html结构: <div ...

  3. mysql连表分组报错---- sql_mode=only_full_group_by问题解决

    #### sql语句报错问题 #1055 - Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggreg ...

  4. TIMESTAMPDIFF用法

    TIMESTAMPDIFF用法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 返回日期或日期时间表达式datetime_expr1 和d ...

  5. python时间日期格式化和反格式化

    strftime()和strptime()行为 date,datetime和time对象都支持一种 strftime(format)方法,以创建一个表示显式格式字符串控制下的时间的字符串.从广义上讲, ...

  6. C# Winform控件对透明图片重叠时导致图片不透明的解决方法(转)

    在Winform中如果将一个透明图片放在窗体上能正常显示透明,但是如果将该图片放在另一个控件上会导致不能显示透明效果. 解决这种情况,可以采取在控件上使用GDI+绘画出透明图片. 这里我们就以一个pi ...

  7. Modbus库开发笔记之八:CRC循环冗余校验的研究与实现

    谈到Modbus通讯自然免不了循环冗余校验(CRC),特别是在标准的串行RTU链路上是必不可少的.不仅如此在其他开发中,也经常要用到CRC 算法对各种数据进行校验.这样一来,我们就需要研究一下这个循环 ...

  8. Confluence 6 恢复一个站点问题解决

    如果你在导入的时候遇到了问题,检查下面的一些提示. 你的文件太大而不能上传?这个是非常常见的错误.出现的原因是备份文件不能在规定的时间内上传到服务器上.为了避免这个错误,放置你的导出文件到  < ...

  9. ES6之Set与Map加深理解

    Set 类似于数组,但是成员的值都是唯一的,没有重复的值,有序. Set函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化. 用途 数组去重: [...new ...

  10. js中的 !! 和 ! 的区别

    简单描述:看老大提交的代码,发现了一个事情,有一处是连着两个!  然后就把我弄纳闷了,果断找度娘,原来如此.上代码 代码: if(!!s && s.length > 0){ /* ...