python接口自动化3-自动发帖(session)
来源:互联网 发布:小猪cms生活通 编辑:程序博客网 时间:2024/06/05 06:11
一、session简介
1.查看帮助文档,贴了一部分,后面省略了
>>import requests
>>help(requests.session())
class Session(SessionRedirectMixin)
| A Requests session.
|
| Provides cookie persistence, connection-pooling, and configuration.
|
| Basic Usage::
|
| >>> import requests
| >>> s = requests.Session()
| >>> s.get('http://httpbin.org/get')
| <Response [200]>
|
| Or as a context manager::
|
| >>> with requests.Session() as s:
| >>> s.get('http://httpbin.org/get')
| <Response [200]>
二、使用session登录
1.使用session登录只需在上一篇基础上稍做修改
# coding:utf-8
import requests
url = "https://passport.cnblogs.com/user/signin"
headers = {
头部信息已省略
}
payload = {"input1":"xxx",
"input2":"xxx",
"remember":True}
# r = requests.post(url, json=payload, headers=headers,verify=False)
# 修改后如下
s = requests.session()
r = s.post(url, json=payload, headers=headers,verify=False)
print r.json()
三、保存编辑
1.先打开我的随笔,手动输入内容后,打开fiddler抓包
2.把body的参数内容写成字典格式,有几个空的参数不是必填的,可以去掉
body = {"__VIEWSTATE": "",
"__VIEWSTATEGENERATOR":"FE27D343",
"Editor$Edit$txbTitle":"这是我的标题:上海-悠悠",
"Editor$Edit$EditorBody":"<p>这里是中文内容: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$lkbDraft":"存为草稿",
}
3.用上面的session继续发送post请求
4.执行后,查看我的草稿箱就多了一条新增的了
四、参考代码
# coding:utf-8
import requests
# 先打开登录首页,获取部分cookie
url = "https://passport.cnblogs.com/user/signin"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"
} # get方法其它加个ser-Agent就可以了
s = requests.session()
r = s.get(url, headers=headers,verify=False)
print s.cookies
# 添加登录需要的两个cookie
c = requests.cookies.RequestsCookieJar()
c.set('.CNBlogsCookie', '这里是抓到的') # 填上面抓包内容
c.set('.Cnblogs.AspNetCore.Cookies','这里是抓到的') # 填上面抓包内容
c.set('AlwaysCreateItemsAsActive',"True")
c.set('AdminCookieAlwaysExpandAdvanced',"True")
s.cookies.update(c)
print s.cookies
# 登录成功后保存编辑内容
r1 = s.get("https://i.cnblogs.com/EditPosts.aspx?opt=1", headers=headers, verify=False)
# 保存草稿箱
url2= "https://i.cnblogs.com/EditPosts.aspx?opt=1"
body = {"__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":"存为草稿",
}
r2 = s.post(url2, data=body, verify=False)
print r.content
- python接口自动化3-自动发帖(session)
- Python人人小组自动发帖
- python 论坛自动发帖功能
- 接口自动化:Jenkins 自动构建python+nose测试
- Python实现BBS自动登录并发帖
- python接口自动化测试(一)
- python 接口自动化测试(一)
- python 接口自动化测试(二)
- python 接口自动化测试(三)
- python 接口自动化测试(四)
- python自动化接口测试(百度翻译)
- python + xlrd 接口自动化
- python:使用http请求实现phpwind自动登录及发帖
- Python + Requests 实现接口自动化
- 如何简单实现接口自动化测试(基于 python)
- python 接口自动化测试--框架整改(五)
- python 接口自动化测试--框架定型(六)
- python 接口自动化测试--代码实现(七)
- springboot 修改内置端口
- 1068. Find More Coins (30) 01背包
- Opencv for Android 3.2 + Android Studio 3.0 + ndk-build 实时人脸检测
- 先码后看 Tomcat是怎么启动容器的——web.xml篇 侵立删
- Eclipse居于Axis2开发WebService(使用自定义对象)及生成客户端代码
- python接口自动化3-自动发帖(session)
- 原生JavaScript封装ajax,可以直接使用
- Delphi 常用进制转换及CRC校验、和校验
- Linux学习-作业
- maven setting.xml
- 指针练习-16
- 通过PLSQL Developer远程连接Oracle
- 一个经典的多态Demo
- Mybatis逆向工程