继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

python的requests模块实现登陆示例

守着一只汪
关注TA
已关注
手记 77
粉丝 11
获赞 37

51cto用python的requests模块实现登陆示例代码如下:

-- coding:utf-8 --
import requests
import re

client = requests.session()
agent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"
header = {
"User-Agent": agent
}

URL = "http://home.51cto.com/index"
def get_xsrf():
#获取xsrf值
response = client.get(URL, headers=header)
match_obj = re.search('.name="csrf-token" content="(.?)"', response.text)
if match_obj:
return match_obj.group(1)
else:
return ""

def _51cto_login(account, password):
#51cto登录
post_url = URL
post_data = {
"_csrf": get_xsrf(),
"LoginForm[username]": account,
"LoginForm[password]": password,
#虽然抓包分析时post有以下2个参数,但是实际登陆时以下两个参数可有可无
#"LoginForm[rememberMe]": 0,
#"login-button": "登 录"
}
response = client.post(post_url, data=post_data, headers=header)
#只有上面认证通过后,请求以下页面才可以看到登陆后的结果
response = client.get(URL)
#print response.content
print response.text

_51cto_login("填入真实的用户名", "填入真实的密码")

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP