python 接口验证码登录_Python接口自动化(五) cookie绕过验证码登录

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

抓登录cookie

如博客园,未登录时,使用fiddler抓包查看cookie值。登录后,使用fiddler抓包查看cookie值。查看cookie变化,发现多个两组参数。

python 接口验证码登录_Python接口自动化(五) cookie绕过验证码登录_第1张图片

python 接口验证码登录_Python接口自动化(五) cookie绕过验证码登录_第2张图片

#coding:utf-8

import requests

url="https://i-beta.cnblogs.com/posts?cateId=1588084"

headers={

"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"

}

s=requests.session()

rs=s.get(url,headers=headers)

print(s.cookies)

#添加登录需要的两个cookie

cc=requests.cookies.RequestsCookieJar()

cc.set(".Cnblogs.AspNetCore.Cookies","CfDJ8K5MrGQfPjpFvRyctF-QEQcDzRZK5jUWvO_zH9KKA18eyWMeso1aSYMQUHEiM2gC0Kz5qLHMI50QKTkk6PxEVMIFUL0bIXSEGk-ctediSLIDYY3srFUeFns3rMJHJAXu4tUBpcbqyckZ2pAnZk5p8afXl1rmRi9oMmo8RzQ2JqUX5EX9hC8ux6OY2c9X9TU57cxrmCmisUWB06YZ-PPallxFyWZ97lKJMhreV1Ox-TpDaxAtjm_wJckCl-iaLtvJkuluk4esC5Z6O9kgyThVnKXWSil0BrPXGnCEQvj9DJrfpMKJWeRu0wUgEaDmKkBX2RCecc8g46hNbzUcIApyHtCR7FpfOk7Q6vWAmJCZbpOuwA0fk62Ls7a9nFqo0o1rO-MZZW40NKw6SJ738f0vm3bjoVP6MON4rYOFeyGO1SijlFlNQVEYSaI6q8CqIpzREHXbDc2OMiMZRJ-A_yAImMaISh-qf3petNru8zEHv0hyVqDdjPdfw4uBUOdV45YggBAo6GHzwhKjsFogldEMvvS26RfqXXOalkmdBIIFK09MNRqRIZfkLjg6xhDTAoWerA")

cc.set(".CNBlogsCookie","D3B13B6DC882FB671B0397F7E14D4B5C9C45C423C7894D19CBF8AD34723424420B0FBD6CEEFE2A6C109D33FBE1A420A59E99BA70CD42E056D576AFDCF8E1EDFDE9ACC6BA831A3C968836189F4B20E293F6244BD0")

s.cookies.update(cc)

print(s.cookies)

#查看需要登录才可以查看的列表

result=s.get("https://i-beta.cnblogs.com/api/posts/list?p=1&cid=1588084&tid=&t=1&cfg=0",headers=headers)

print(result.json())

运行结果

C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe D:/Python0811/0919.py

, ]>

{'postList': [{'id': 13380505, 'title': 'Python接口自动化(四) https请求(SSLError解决办法)', 'url': '//www.cnblogs.com/canglongdao/p/13380505.html', 'isPublished': True, 'feedBackCount': 0, 'webCount': 4, 'aggCount': 0, 'viewCount': 4, 'datePublished': '2020-07-26T15:15:00', 'entryName': None, 'postType': 1, 'postConfig': 93, 'dateUpdated': '2020-07-26T15:15:00'}, {'id': 13380298, 'title': 'Python接口自动化(三)post请求四种传送正文方式', 'url': '//www.cnblogs.com/canglongdao/p/13380298.html', 'isPublished': True, 'feedBackCount': 0, 'webCount': 3, 'aggCount': 0, 'viewCount': 3, 'datePublished': '2020-07-26T14:13:00', 'entryName': None, 'postType': 1, 'postConfig': 93, 'dateUpdated': '2020-07-26T14:13:00'}, {'id': 13379676, 'title': 'Python接口自动化(二) 发送post请求的接口;发送post【data】;python中字典和json的区别', 'url': '//www.cnblogs.com/canglongdao/p/13379676.html', 'isPublished': True, 'feedBackCount': 0, 'webCount': 3, 'aggCount': 0, 'viewCount': 3, 'datePublished': '2020-07-26T11:13:00', 'entryName': None, 'postType': 1, 'postConfig': 93, 'dateUpdated': '2020-07-26T14:37:00'}, {'id': 13378194, 'title': 'requests高级用法', 'url': '//www.cnblogs.com/canglongdao/p/13378194.html', 'isPublished': True, 'feedBackCount': 0, 'webCount': 5, 'aggCount': 0, 'viewCount': 5, 'datePublished': '2020-07-25T20:48:00', 'entryName': None, 'postType': 1, 'postConfig': 93, 'dateUpdated': '2020-07-25T20:48:00'}, {'id': 13363702, 'title': '安装requests,requests基本使用', 'url': '//www.cnblogs.com/canglongdao/p/13363702.html', 'isPublished': True, 'feedBackCount': 0, 'webCount': 8, 'aggCount': 0, 'viewCount': 8, 'datePublished': '2020-07-23T22:45:00', 'entryName': None, 'postType': 1, 'postConfig': 93, 'dateUpdated': '2020-07-25T08:43:00'}, {'id': 11838333, 'title': 'python接口自动化(一) 发送get请求; 状态码对照表;', 'url': '//www.cnblogs.com/canglongdao/p/11838333.html', 'isPublished': True, 'feedBackCount': 0, 'webCount': 90, 'aggCount': 0, 'viewCount': 90, 'datePublished': '2020-01-07T21:57:00', 'entryName': None, 'postType': 1, 'postConfig': 93, 'dateUpdated': '2020-07-26T10:10:00'}, {'id': 12158718, 'title': 'python发送.xml格式的post请求;', 'url': '//www.cnblogs.com/canglongdao/p/12158718.html', 'isPublished': True, 'feedBackCount': 0, 'webCount': 372, 'aggCount': 0, 'viewCount': 372, 'datePublished': '2020-01-06T21:53:00', 'entryName': None, 'postType': 1, 'postConfig': 93, 'dateUpdated': '2020-01-06T21:53:00'}, {'id': 12152290, 'title': 'python logging', 'url': '//www.cnblogs.com/canglongdao/p/12152290.html', 'isPublished': True, 'feedBackCount': 0, 'webCount': 27, 'aggCount': 0, 'viewCount': 27, 'datePublished': '2020-01-05T14:06:00', 'entryName': None, 'postType': 1, 'postConfig': 93, 'dateUpdated': '2020-01-05T21:31:00'}, {'id': 12019740, 'title': '封装,调用函数,以及参数化', 'url': '//www.cnblogs.com/canglongdao/p/12019740.html', 'isPublished': True, 'feedBackCount': 0, 'webCount': 110, 'aggCount': 0, 'viewCount': 110, 'datePublished': '2019-12-10T22:55:00', 'entryName': None, 'postType': 1, 'postConfig': 93, 'dateUpdated': '2019-12-10T22:55:00'}, {'id': 12013291, 'title': '非ssl给163发邮件,报错,无解ing', 'url': '//www.cnblogs.com/canglongdao/p/12013291.html', 'isPublished': True, 'feedBackCount': 1, 'webCount': 48, 'aggCount': 0, 'viewCount': 48, 'datePublished': '2019-12-09T20:37:00', 'entryName': None, 'postType': 1, 'postConfig': 93, 'dateUpdated': '2019-12-09T20:37:00'}], 'postsCount': 34, 'pageSize': 10, 'categoryName': 'Python接口自动化'}

与fiddler抓包结果对比,结果一致。

python 接口验证码登录_Python接口自动化(五) cookie绕过验证码登录_第3张图片

你可能感兴趣的:(python,接口验证码登录)