python模拟艺龙网登录requests包
2017-04-26 10:35 _天枢 阅读(300) 评论(0) 编辑 收藏 举报对比urllib、urllib2与requests不难发现,前者功能更强大,但是实现一个功能要写很多的代码,后者,requests代码简洁,用起来更快速
下面一个模拟登录的代码:看看吧一共也没有几行就实现了。
#-*- coding:utf-8 -*- from requests import Request,Session import json s =Session() codeurl = 'https://secure.elong.com/passport/getValidateCode' loginurl='https://secure.elong.com/passport/ajax/elongLogin' code = s.get(codeurl)//这句不加会提示验证码错误 #print code.content postData = {'userName':'13718651668', 'passwd':'yhlexx8701xx', 'validateCode':'1234', 'rememberMe':'false'} reponse = s.post(loginurl,data=postData) print reponse.text
#如果需要取结果中的值做登录后的后续操作,可以使用json方式,很方便
esid = json.loads(reponse.text)["esid"]
print esid
c ='http://my.elong.net/Connection_en.html?SessionTag='+esid+'nextUrl=http%3A%2F%2Fmy.elong.com%2FCashCoupon_cn.html&expireTime=0'
r = s.get(c)
print r.content
登录是成功的,但是从返回的结果中可以看出,本次登录不需要验证码输入。
有一些网站,只要不输入密码错误,是不是需要输入验证码的。
猜测这个是在session中做的记录,这里呢每次执行重新创建session,即使密码错误也不会提示输入验证码。竞然把验证码避过了。
我也不是很明白,有懂的同学,给回复下。学习一下,谢谢!
作 者:
天枢
出 处:
http://www.cnblogs.com/yhleng/
关于作者:专注于软件自动化测试领域。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者
直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角
【
推荐】
一下。您的鼓励是作者坚持原创和持续写作的最大动力!