本文主要是介绍Python接口自动化——绕过验证登录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
以博客园登录为例,url= 'https://account.cnblogs.com/signin'
1.登录前后,查看cookie差异,登录后新增'.CNBlogsCookie'和'.Cnblogs.AspNetCore.Cookies',将name和value复制出来,用作后续添加cookie。
3.追加cookies
s = requests.session() #开启一个会话Session
c = requests.cookies.RequestsCookieJar() #创建一个Cookie Jar对象
c.set('.CNBlogsCookie', '5E10xxxx) # 向Cookie Jar对象中添加cookie值
c.set('.Cnblogs.AspNetCore.Cookies','CfDJ8xxxxx') # 向Cookie Jar对象中添加cookie值
s.cookies.update(c) # 把cookies追加到Session中
4.通过这个过程,可以实现绕开登录,直接访问想要访问的网站。
代码全过程:
import requestsheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"}
url = 'https://account.cnblogs.com/signin'
s = requests.session()
c = requests.cookies.RequestsCookieJar()
c.set('.CNBlogsCookie', '5xxxx')
c.set('.Cnblogs.AspNetCore.Cookies','CfDJ8D8xxxx')
r = s.post(url,headers = headers)
s.cookies.update(c)
print (s.cookies)
# print(r.content.decode("utf-8"))
url_insert = '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(url_insert, data=body, verify=False)
print(r2.content.decode('utf-8'))
这篇关于Python接口自动化——绕过验证登录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!