返回值有两种状态: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)
欢迎进(Q)群,帮你解决问题: