Requests方法 -- session方法
import requests
#禁用安全请求警告
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
#博客园账号登录请求实例
url = "https://account.cnblogs.com/signin?returnurl=https%3A%2F%2Fwww.cnblogs.com%2F"
headers = {
"Connection": "keep-alive",
"Content-Length": "1054",
"Accept": "application/json, text/javascript, */*; q=0.01",
"Origin": "https://account.cnblogs.com",
"X-Requested-With": "XMLHttpRequest",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"Referer": "https://account.cnblogs.com/signin?returnUrl=https%3A%2F%2Fwww.cnblogs.com%2F",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN,zh;q=0.9",
"Cookie": "_ga=GA1.2.309422837.1547046866; __gads=ID=fda98058cc409734:T=1547046870:S=ALNI_MZyZa4iJ53G-i7vMO8VplOItZ2oNw; UM_distinctid=168f9db4983533-0dd7abeb8ec9cd-5d1f3b1c-100200-168f9db49841e4; _gid=GA1.2.95674778.1562082991; .Cnblogs.Account.Antiforgery=CfDJ8D8Q4oM3DPZMgpKI1MnYlrkS_Cwkf_aCwOteUwJxddP-gTzD2D9-teYwdbKn0OoSj5rXiKTngS4gccbobLDyv7pUoPqN6S4NmNR1k-S-9rM8KNl5Rm8_b2QnUyIUtvn0LKSY_9ONIBaX3560-VJbP8w; .Cnblogs.Account.Session=CfDJ8D8Q4oM3DPZMgpKI1MnYlrnKDMrAv%2Fy7I1ep0xY4Ao1M1TzXwbju4u1o5aaRpknkkPPAs3XYbrnX%2BMB80RuT%2B6usTNTZlhIBPOrUk%2B0QiYFNn8NQyDtDQx0MKiZ2mlVoCi4mUyS0ioK7mdKodjlEpHQlaU9pn3eZlqJ07jmCKjLG; SyntaxHighlighter=csharp; _gat=1; SERVERID=d0724c395727ce8eb048bea7fa14fd42|1562419203|1562415470",
}
payload = {
"LoginName":"抓包查看xxxx",
"Password":"抓包查看xxxx",
"IsRemember":"true",
"PublicKey":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCp0wHYbg%2FNOPO3nzMD3dndwS0MccuMeXCHgVlGOoYyFwLdS24Im2e7YyhB0wrUsyYf0%2FnhzCzBK8ZC9eCWqd0aHbdgOQT6CuFQBMjbyGYvlVYU2ZP7kG9Ft6YV6oc9ambuO7nPZh%2BbvXH0zDKfi02prknrScAKC0XhadTHT3Al0QIDAQAB",
"EnableCaptcha":"true",
"__RequestVerificationToken":"CfDJ8D8Q4oM3DPZMgpKI1MnYlrn7D18H3YXmkg89UN8NEh5cJ9GkpFNb1jSeQCXyOilUD1DftbrqQAvcukCkmQGeUVqrKjPoT289rSs8M1DNxu5BEMYndOf8Wn4bXQTNPVxf6lYFa0GgKQBLzeaX4FKI7ZM",
"IsRemember":"false",
"EnableCaptcha":"false",
"isEncrypted":"true",
"geetest_challenge":"b1fc6c4b9c986a45725d85674897bb59",
"geetest_validate":"835a3c81f8a2876b26681849ab45eeb7",
"geetest_seccode":"835a3c81f8a2876b26681849ab45eeb7%7Cjordan"
}
s = requests.Session()
r = requests.post(url=url,headers=headers,data=payload,verify=False)
print(r.content.decode("utf-8")) #content 字节输出,返回的是一个字符串
print(r.json()["success"]) # json 解码后,返回的就是一个字典
# 保存草稿箱
url2 = "https://i.cnblogs.com/EditPosts.aspx?opt=1"
body = {
"__VIEWSTATE":"",
"__VIEWSTATEGENERATOR":"FE27D343",
"Editor$Edit$txbTitle":"Hi,nnnnnnn",
"Editor$Edit$EditorBody":"<p>你们好吗 ?</p><p>Are you ok ?</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$lkbDraft":"存为草稿",
}
r2 = s.post(url2,data=body,verify=False)
print(r.content.decode("utf-8"))
Requests方法 -- session方法的更多相关文章
- 关于requests的session方法保持cookie的问题。
最近在做爬虫的时候遇到了一个问题,在用requests的session方法保持cookie的时候发现requests不能保持手动构建的cookie.起初以为requests只能自动保持由服务器返回的s ...
- 关于requests的session方法保持不了cookie的问题。(seesion的意思是保持一个会话,比如 登陆后继续操作(记录身份信息) 而requests是单次请求的请求,身份信息不会被记录)
最近在做爬虫的时候遇到了一个问题,在用requests的session方法保持cookie的时候发现requests不能保持手动构建的cookie.起初以为requests只能自动保持由服务器返回的s ...
- ThinkPHP函数详解:session方法
ThinkPHP函数详解:session方法 Session方法用于Session 设置.获取.删除和管理操作. Session 用于Session 设置.获取.删除和管理操作 用法 sessi ...
- python中requests库使用方法详解
目录 python中requests库使用方法详解 官方文档 什么是Requests 安装Requests库 基本的GET请求 带参数的GET请求 解析json 添加headers 基本POST请求 ...
- Struts2获取Session方法
Struts2里面有三种方法可以获取request,最好使用ServletRequestAware接口通过IOC机制注入Request对象. 方法1:IOC方式action类实现SessionAwar ...
- thinkphp中的session()方法
系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的session函数完成. 用法 session($name, $value='') 参数 name(必须):如果传入数组 则表示 ...
- java WEB学习笔记32:HttpSession 接口常用方法 及 HttpServletRequest接口中的Session方法 Demo
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Requests库主要方法解析以及Requests库入门需要掌握的框架
Requests库主要方法解析以及Requests库入门 1.requests.request(method,url,**kwargs) **kwargs:控制访问的参数,均为可选项 params:字 ...
- thinkPHP中session()方法用法详解
本文实例讲述了thinkPHP中session()方法用法.分享给大家供大家参考,具体如下: 系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的session函数完成. 用法 ? ...
随机推荐
- CodeGen用户定义的扩展令牌
CodeGen用户定义的扩展令牌 用户定义的扩展令牌是一种特殊的令牌,开发人员可以确定令牌的名称以及在代码生成过程中遇到令牌时要插入的值. CodeGen支持多种机制,允许通过以下方式实现用户定义的令 ...
- python_request的安装及模拟json的post请求及带参数的get请求
一.Requests模块安装 安装方式一:执行 pip install -U requests 联网安装requests 安装方式二:进入https://pypi.org/project/reques ...
- (3)虚拟Web主机
虚拟Web主机 作用:让一台Web服务器,提供多个页面 搭建方式: 1.基于域名的虚拟Web 2.基于端口的虚拟Web 3.基于IP地址的虚拟Web ######################### ...
- CSS基础知识及其基本语法
一.什么是CSS CSS 是层叠样式表( Cascading Style Sheets ) 的简称. 有时我们也会称之为CSS 样式表或级联样式表. CSS 也是一种标记语言 CSS 主要用于设置HT ...
- 复习Spring第三课--数据源配置的多种方式
spring数据源配置可以说分为:spring容器自带连接池.项目中创建连接池.服务器创建连接池三种 一.spring容器自带连接池 Spring本身也提供了一个简单的数据源实现类DriverMa ...
- 再试Hibernate框架
几个月前因为学习需要第一次接触了Hibernate(之前一直在用MyBatis),后来觉得有点难,也急着找工作,所以就没继续学下去了.但是找工作的时候发现Hibernate的需求更高,使用率更高,所以 ...
- 服务器硬件和RAID配置
服务器 硬件和RAID配置 目录 一.RAID 磁盘阵列介绍 1.1.RAID 0(条带化存储) 1.2.RAID 1(镜像存储) 1.3.RAID 5 1.4.RAID 6 1.5.RAID 1+0 ...
- Linux-Samba服务
Samba服务 1.Samba的起源 对于windows的网上邻居来讲,共享文件的方式用的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间用的是NFS协议. 但是Linux和Win ...
- 18、mysql读写分离实现的方法
18.1.mysql读写分离实现的方法: 1.通过程序实现读写分离: php和java程序实现读写分离(性能,效率最佳,推荐); php和java程序都可以通过设置多个连接文件轻松实现对数据库的读写分 ...
- nexus AD 集成配置
nexus AD 集成配置 管理用户登录 点击设置图标-->LDAP-->Create connection 进入AD 集成配置页面 Connection配置 User and group ...