python验证手机号是否注册学信网

返回值有两种状态:true 和 false

true 表示没被注册 :

    12345678900也是true,

    满足11位的就可以被检测,

    并不能检测手机号本身是否有效,

    但是正常手机号,没被注册就是true。

false 表示已经注册或者手机号格式不对:

    比如位数不是11位

代码:

import requests,re
headers = {
"Host": "account.chsi.com.cn",
"Connection": "keep-alive",
"Content-Length": "56",
"Accept": "application/json, text/javascript, */*; q=0.01",
"Origin": "https://account.chsi.com.cn",
"X-Requested-With": "XMLHttpRequest",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"Referer": "https://account.chsi.com.cn/account/preregister.action?from=archive",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN,zh;q=0.9",
"Cookie": "JSESSIONID=846A5C43BDB726231FDF897A14D88F72; Secure; __utma=65168252.980312581.1526972694.1526972694.1526972694.1; __utmz=65168252.1526972694.1.1.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; _ga=GA1.3.980312581.1526972694; __utma=39553075.980312581.1526972694.1526972722.1526972722.1; __utmz=39553075.1526972722.1.1.utmcsr=my.chsi.com.cn|utmccn=(referral)|utmcmd=referral|utmcct=/archive/index.jsp",
}
def check_number(number):
    if len(number)!=11:
        print(number, "---- 位数不足")
    else:
        url = "https://account.chsi.com.cn/account/checkmobilephoneother.action"
        form_data = [('mphone', number),
                     ('dataInfo', number),
                     ('optType', 'REGISTER'),
                     ]
        page = requests.post(url, headers=headers, data=form_data).text
        result = re.findall("[a-z]{4,5}",page)
        if result:
            if result[0]=="true":
                print(number,"---- 可以注册")
            elif result[0]=="false":
                print(number, "---- 已经注册")
        else:
            print(number,"---- 验证失败")
if __name__=="__main__":
    number="12345678900"
    check_number(number)



猜你喜欢

转载自blog.csdn.net/m0_38124502/article/details/80758187
今日推荐