Python接口自动化(九) cookie登录,session保持,参数关联接口

摘要:
0}importrequestsimportjsonimportdatetimeheaders={“用户代理”:headers=headers)print(s.cookies)coo=requests.cookies.RequestsCookieJar()coo.set(“.CNBBlogsCookie”,

cookie登录博客园,session保持,发布新博客,报错:{'errors': ['用户账号不匹配,请备份未提交的内容并检查当前登录账号'], 'type': 0}

import requests
import json
import datetime
headers={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36"
}
s=requests.session()
r=s.get("https://account.cnblogs.com/signin",headers=headers)
print(s.cookies)
coo=requests.cookies.RequestsCookieJar()
coo.set(".CNBlogsCookie","01149DC9D6D99F7CF64E77F182E602D4D3E577805A6E19097DBE74781BCE1116B43AAC32FB4F3E866D817F4D5F02262D1A923DCB04E0862237105BE89816C7DCFC143A247B072098B3EB913561395BA569B0BF3A")
coo.set(".Cnblogs.AspNetCore.Cookies","CfDJ8K5MrGQfPjpFvRyctF-QEQey8RTgWroJyR6U7XUE7o4QQl25nXngPbGcFUWC1ffclANZ_jDxB8ZeQVT4CC0k80e5KMVHEDqUtR3dM3yY8CWWDcWxt12wMStbmBY-cNDtU9ec9lSSuLYVQaJbs8sOFuoyN8YYrSeotQhp4TBWJh_uHYo6SArUbgiv1rC0pCdQlhpbVOzN6l3Qu0r-6Ykq5d-NDRI0_Z6cmffdsEXXZVmWttl5gv6u7phqvImHwOwXfblxSdeWUVk3lMGK9SySG4Ob4IvMquKVWp0PQ2hzLnCnkGwTe97swBWcCZQN-vTDkiHTb-pMj9SI_4AzbUvbbCeh_REKR1BffLxkfPSK3QDRy0xtLrkPe_imc0RSdiPhuS2bZJlvtXP4vAfZuQe6LDemeUfU4alBrjL_oc-4-BanQo0bpaTGbdT6QSlQOW_J1U4pSeiR-FjWdaMGdh9AIOoiS-PCplUVkHcs12HXreS0Iqr-MO5cIjKJZ0WaXhI87HKqJUEKGI6bbJegZBe-hkObRrdVhLGLYudesvnZesXlrtc0FV0EyQ_tvL4dmwJgDw")
coo.set("_ga","GA1.2.2037565914.1593676341")
coo.set("_gid","GA1.2.84103295.1595812422")
coo.set("SyntaxHighlighter","python")
coo.set("UM_distinctid","1738ece2b12328-0ca09f0cdf82e7-4353761-1fa400-1738ece2b13435")

s.cookies.update(coo)
print(s.cookies)
s.get("https://i.cnblogs.com/posts?cateId=1588084")
rs1=s.get("https://i.cnblogs.com/api/posts/-1")
rs1.encoding="utf-8"
print(rs1.text)
#ISO格式时间
#ddata={"postType":1,"accessPermission":0,"title":"测试7727","postBody":"<p>good good study</p>","inSiteCandidate":False,"inSiteHome":False,"isPublished":True,"displayOnHomePage":True,"isAllowComments":True,"includeInMainSyndication":True,"isPinned":False,"isOnlyForRegisterUser":False,"isUpdateDateAdded":False,"datePublished":str(datetime.datetime.utcnow().isoformat())[:-3]+'Z',"isMarkdown":False,"isDraft":True,"changePostType":False,"blogId":0,"removeScript":False,"changeCreatedTime":False,"canChangeCreatedTime":False}
ddata={"id":"","postType":1,"accessPermission":0,"title":"绿萝","url":"","postBody":"<p>哈哈哒</p>","categoryIds":"","inSiteCandidate":False,"inSiteHome":False,"siteCategoryId":"","blogTeamIds":"","isPublished":False,"displayOnHomePage":True,"isAllowComments":True,"includeInMainSyndication":True,"isPinned":False,"isOnlyForRegisterUser":False,"isUpdateDateAdded":False,"entryName":"","description":"","tags":"","password":"","datePublished":str(datetime.datetime.utcnow().isoformat())[:-3]+'Z',"isMarkdown":False,"isDraft":True,"autoDesc":"","changePostType":False,"blogId":0,"author":"","removeScript":False,"ip":"","changeCreatedTime":False,"canChangeCreatedTime":False}
hd={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36",
"Content-Type":"application/json"
}
rs2=s.post("https://i.cnblogs.com/api/posts",data=json.dumps(ddata),headers=hd)
print(rs2.json())
  

OPMS项目,新增简历,修改状态,参数关联,修改状态

提取id,一直在纠结有没有这种操作,虽然尝试失败了,还是留一个记号吧;re.findall(消毒液(.+?)data-id="(.+?)")

Python接口自动化(九) cookie登录,session保持,参数关联接口第1张

 查看页面和fiddler抓包,发现新增的一直位于第2个,好吧,那提取id后,取第二个值就好了,ids[1]

Python接口自动化(九) cookie登录,session保持,参数关联接口第2张

import requests
import json
import re
headers={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36"
}
s=requests.session()
r=s.get("http://47.98.106.11:8088/login",headers=headers)
print(s.cookies)
coo=requests.cookies.RequestsCookieJar()
coo.set("beegosessionID","b6c11a0024f4da43ed61f33f2f0d35a3")
s.cookies.update(coo)
print(s.cookies)
rs1=s.get("http://47.98.106.11:8088/project/manage")
rs1.encoding="utf-8"
#print(rs1.text)
data1={
"realname":"六神花露水",
"phone":"13512310000",
"sex":"1",
"birth":"2020-01-01",
"status":"1",
"id":"0"
}
rs2=s.post("http://47.98.106.11:8088/resume/add",data=data1,headers=headers)
print(rs2.json())
#提取id
rs3=s.get("http://47.98.106.11:8088/resume/manage",headers=headers)
ids=re.findall(r"data-id="(.+?)">删除",rs3.text)
print(ids)
print(ids[1])

#修改状态
data4={
"status":"2",
"id":ids[1]
}
rs4=s.post("http://47.98.106.11:8088/resume/ajax/status",data=data4,headers=headers)
print(rs4.json())

免责声明:文章转载自《Python接口自动化(九) cookie登录,session保持,参数关联接口》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Nmap扫描与RDP连接实验过渡(transition) 动画(animation)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

elasticsearch-query-builder, 一款可以基于配置化以及参数绑定的ES语句构造神器

前言 在这里,我想向大家推荐一个我自己开发的项目,也就是elasticsearch-query-builder,这个项目目前在github上已经开源,有兴趣的朋友可以去fork或者star,你的star就是对我最大的鼓励。同时,本项目长期维护和更新,我也接受并且很高兴有小伙伴向本项目pull request,或者协同开发,有兴趣的同学可以给我发邮件。 el...

ParseCrontab类,解析时间规则

<?php /** * Created by PhpStorm. * User: ClownFish 187231450@qq.com * Date: 14-12-27 * Time: 上午11:59 */ class ParseCrontab { static public $error; /** * 解析...

【spring源码系列】之【环境搭建】

1. gradle安装 1.1 下载gradle gradle官网下载对应的版本,笔者用的6.0.1,下载地址如下https://gradle.org/releases/,找到6.0.1,选择complete连接下载,如下图 1.2 配置环境变量 解压gradle到指定目录,配置环境变量GRADLE_HOME、Path,与JDK类似,如下图 在命令行输入g...

Ext分页之php中,真分页显示

这是我经过很多天调试的真分页显示Ext组件 显示页面ext.php 1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4 <title>Getting Sta...

获取JS数组中的相同元素的名称和数量

Js代码   <script>   var ary =["aaa","露露","bbb","aaa","ccc","ccc","aaa","露露","haha"];   var res = [];   ary.sort();   for(var i = 0;i<ary.length;)   {        var count = ...

什么是Reinforcement Learning

看了看之前写的那篇博客,感觉并没有真的总结清楚DRL是什么,难怪我一直不懂什么是DRL,原来是以前就没学好,所以现在从RL开始了解了解,了解RL之后再去了解DRL。 setup大部分,还是来自原本的博客,加了点注释。reform了一下,懒得再打公式了。 什么是RL 简介 什么是MDP Markov Decision Process MDP基于一种假设...