Requests方法 -- session方法

import requests#禁用安全请求警告from requests.packages.urllib3.exceptions import InsecureRequestWarningrequests.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"))

原文地址:https://www.cnblogs.com/Teachertao/p/11144814.html

时间: 2024-07-31 13:11:07

Requests方法 -- session方法的相关文章

关于requests的session方法保持不了cookie的问题。

最近在做爬虫的时候遇到了一个问题,在用requests的session方法保持cookie的时候发现requests不能保持手动构建的cookie.起初以为requests只能自动保持由服务器返回的set-cookie语句中的cookie.后来查了很多资料,才终于明白.原来requests只能保持 cookiejar 类型的cookie,而我们手动构建的cookie是dict类型的.所以要把dict转为 cookiejar类型,于是我又在网上查,在几乎打算放弃的时候终于找到了一个把dict转为c

Hibernate之Session方法

对象的状态: Session中  数库中 ----------------------- 临时 无无 持久化 有最终会有 游离 无有 删除 调用了delete()方法后 1,操作实体对象的Session方法 save() update() saveOrUpdate() delete() 2,操作缓存的Session方法 clear() 清空Session缓存,不会执行sql语句. evict() flush() 马上执行sql语句,不会清楚Session缓存. 3,查询实体对象的Session方

Struts2获取Session方法

Struts2里面有三种方法可以获取request,最好使用ServletRequestAware接口通过IOC机制注入Request对象. 方法1:IOC方式action类实现SessionAware接口,并创建一个MAP对象sessionpublic class UserLoginAction extends ActionSupport implements ServletRequestAware,SessionAware{ public void setServletRequest(Htt

if判断条件,session方法等

if条件判断中,0,NULL,''都是false session方法 session('_userID', $userInfo['userID']); //切换数据库 $infoClass = M()->db(1,C('DB_CONFIG_SYN'))->table('syn_userinfo'); //字符串替换<?phpecho strtr("Hilla Warld","ia","eo");?> 输出:Hello Wo

hiberbate学习:session方法补充

一:测试用例 二:知识补充 1:saveOrUpdate 既可以执行insert也可以执行update.取决于对象有没有id 2:部分更新 Session session = factory.getCurrentSession(); session.beginTransaction(); Query query = (Query) session.createQuery("update Teacher t set t.name='zz' where t.id = 1"); query.

ThinkPHP函数详解:session方法

Session方法用于Session 设置.获取.删除和管理操作. Session 用于Session 设置.获取.删除和管理操作 用法 session($name, $value='') 参数 name(必须):如果传入数组 则表示进行session初始化,如果传入null表示清空当前session,如果是字符串则表示session赋值.获取或者操作.Value(可选):要设置的session值,如果传入null表示删除session,默认为空字符串 返回值 见详(根据具体的用法返回不同的值)

常用代码块模板,get,load区别,session.get(,)参数解释,session方法总结

设置模板代码步骤:window->java->Templates->new模板代码Session session = HibernateUtils.openSession(); try { HibernateUtils.startTransaction(); /** * 具体的业务代码 */ HibernateUtils.commitTransaction(); } catch (Exception e) { HibernateUtils.rollBackTransaction(); t

爬虫requests库的方法与参数

爬虫requests库的方法与参数 import requests """ # 1. 方法 requests.get requests.post requests.put requests.delete ... requests.request(method='POST') """ # 2. 参数 """ 2.1 url 2.2 headers 2.3 cookies 2.4 params 2.5 data,传请求体

python requests函数封装方法

python  requests函数封装方法 上代码 1 import requests 2 import json 3 4 """ 5 封装request请求, 6 1.post:my_post 7 2.get:my_get 8 3.返回code:get_code(res) 9 4.返回json:get_json(res) 10 5.返回text:get_text(res) 11 6.响应时间:get_time(res) 12 7.请求header:get_header(a