import requests
import json
from time import sleep class Test:
url= "http://www.cnblogs.com/"
headers={
"User - Agent": "Mozilla / 5.0(Windows NT 10.0;WOW64;rv: 60.0) Gecko / 20100101Firefox / 60.0"
}
s = requests.session()
r = s.get(url,headers=headers)
# print(s.cookies)
# print(r.cookies) cook = r.cookies
cook.set('.CNBlogsCookie','C76B27C42D3ADA95CE6D77F29F1F6357BAC46EE05966C386344EACD3FBDDA5E2D6DD0470DAF37AB7BF1B66189003227A42A0A1940F27A281B05F11524023CB4692A0DAAC13E4B4E802D24763A9804F2616562989'),
cook.set('.Cnblogs.AspNetCore.Cookies',
'CfDJ8Gf3jjv4cttDnEy2UYRcGZ1_zoJHOThA8xGirB4nGc2hvBD8zDQW4s-DzbOSywo0GuAwDJ3Fo8fxDy6brKcEMQk1ipNocDiGpNHWcQM7CXM_YByoFYEelH20c-cTAum_1sL-mJ5c1ydjJYVxmIOcYcKCx0BtNKC0SLlzMBzaC1sHhvUTRQv2ETGU6lljuBwpH7TCMfDLHqi1thlHAHCNo5nxyrnB5S1MJ64bHALoOKuUKAEtZqyQ4WZ3pH00dt5Oq7MzUgVunS-kIGhJ83g-c4QDDULwCihkewLYMKDPrbuhPsMymexgus1Ey7uQxwN5Gg')
cook.set('AlwaysCreateItemsAsActive', "True")
cook.set('AdminCookieAlwaysExpandAdvanced', "True")
s.cookies.update(cook)
print(s.cookies)
r1 = s.get(url)
url3 = "https://i.cnblogs.com/EditPosts.aspx?opt=1"
# body ={
# "__VIEWSTATE":"",
# "__VIEWSTATEGENERATOR":"FE27D343",
# "Editor$Edit$txbTitle":"lalalal",
# "Editor$Edit$EditorBody": "< p > lalalladslkjds哈哈 < / p >",
# "Editor$Edit$Advanced$ckbPublished":"on",
# "Editor$Edit$Advanced$chkDisplayHomePage":"on",
# "Editor$Edit$Advanced$chkComments":"on",
# "Editor$Edit$Advanced$chkMainSyndication":"on",
# "Editor$Edit$Advanced$txbEntryName":"",
# "Editor$Edit$Advanced$txbExcerpt":"",
# "Editor$Edit$Advanced$txbTag":"",
# "Editor$Edit$Advanced$tbEnryPassword":"",
# "Editor$Edit$lkbPost":"发布"
# } # body1 = {"__VIEWSTATE": "",
# "__VIEWSTATEGENERATOR": "FE27D343",
# "Editor$Edit$txbTitle": "这是3111",
# "Editor$Edit$EditorBody": "<p>这里111:http://www.cnblogs.com/yoyoketang/</p>",
# "Editor$Edit$Advanced$ckbPublished": "on",
# "Editor$Edit$Advanced$chkDisplayHomePage": "on",
# "Editor$Edit$Advanced$chkComments": "on",
# "Editor$Edit$Advanced$chkMainSyndication": "on",
# "Editor$Edit$Advanced$txbEntryName": "",
# "Editor$Edit$Advanced$txbExcerpt": "",
# "Editor$Edit$Advanced$tbEnryPassword": "",
# "Editor$Edit$lkbDraft": "存为草稿",
# } # r3 = requests.post(url3, body1, verify=False)
# sleep(2)
print(r1.text)

 注意:登陆后的cookie值需要通过抓包工具获取; 对比登陆前后的cookie值就可以找出;

python3接口自动化:绕过验证码登陆的更多相关文章

  1. 【python3接口自动化基础】json总结

    Json知识归纳: Post请求有两种方法传json参数 传json参数(自动转json了)---json=dict 传data参数(需json转换) ---data=json.dumps(dic) ...

  2. Selenium+Java自动化之如何优雅绕过验证码

    前言: 验证码问题对于每个ui自动化的同学而言,相信都是个蛋疼的问题,对于验证码的处理我个人不提倡破解,不要去想破解方法,这个验证码本来就是为了防止别人自动化登录的.如果你们公司的验证码很容易被你破解 ...

  3. 『心善渊』Selenium3.0基础 — 21、Selenium实现绕过验证码进行登陆

    目录 1.验证码问题 2.处理验证码的方法 3.Selenium绕过验证码登陆的实现 4.总结 5.补充练习 1.验证码问题 对于Web应用来说,大部分的系统在用户登录时,都要求用户输入验证码.验证码 ...

  4. python接口自动化-Cookie_绕过验证码登录

    前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“pyt ...

  5. python接口自动化(Cookie_绕过验证码登录)

     python接口自动化(Cookie_绕过验证码登录) 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以 ...

  6. python接口自动化(十三)--cookie绕过验证码登录(详解)

    简介 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加cookie的方式绕过验证码.(注意:并不是所有的 ...

  7. python接口自动化:绕过验证码登录

    上线产品的登录接口会有验证码,一般可以通过添加cookie的方式绕过验证码. 一.抓登录的cookie 1. 先手动登录一次,然后用fiddler抓取这个cookie,再直接把这个值添加到cookie ...

  8. python接口自动化4-绕过验证码登录(cookie)

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录coo ...

  9. python接口自动化三(登录绕开验证码及发帖)

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 但是这里需要明确 ...

随机推荐

  1. Spring Boot 2.2.1 发布,一个有点坑的版本!

    上一篇:Spring Boot 2.2.0 正式发布,支持 JDK 13! Spring Boot 2.2.0 没发布多久,Spring Boot 2.2.1 又发布了,这是一个很有意思,又有点 &q ...

  2. python 项目实战之备份文件夹并且压缩文件夹及下面的文件

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/11/12 14:21 # @Author : zoulixiang # @S ...

  3. go 优秀文档

    go语言资料汇总 : https://blog.zhnytech.com/articles/2016/07/15/Golang%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99% ...

  4. MongoDB查询和sql查询的总结

    查询所有表或集合 sql   show tables mongodb    db.getCollectionNames() 删除集合或表 sql   drop table 表名 mongodb    ...

  5. USDT

    如果刚刚接触比特币,你可能会看到USDT并把它误认为美元. 实际上就是这样,这正是USDT开发团队的意思. Tether(USDT)是基于在Bitcoin Blockchain上发布的Omni Lay ...

  6. Storm里面fieldsGrouping和Field参数和 declareOutputFields

    Fields,个人理解,类似于一张表,你取那些字段以及这些字段所对应的数据给后面的bolt用 这个Field通常和fieldsGrouping分组机制一起使用,这个Field特别难理解,我自己也是在网 ...

  7. ES6中的关键字 - let

    let关键字 1.let关键字声明的变量仅仅在自己的块级作用域内起作用,出了块级作用域就不起作用了: var arr2 = []; for (let index = 0; index < 10; ...

  8. 【java】java 读写文件

    场景:JDK8  将上传的文件,保存到服务器 Java读写文件操作: MultipartFile file InputStream inputStream = file.getInputStream( ...

  9. laravel中hasOne、HasMany、belongsTo、belongsToMany的ORM方法

    在laravel5.4框架中,使用ORM关联方法,一对一,一对多 一对一关系,代码: user表为主表,需要向下找关联表的字段用hasOne video表为关联表,需要向上找关联表的字段用belong ...

  10. mybatis中用注解如何处理存储过程返回的多个结果集?

    sql代码: create procedure sptest.getnamesanditems() reads sql data dynamic result sets 2 BEGIN ATOMIC ...