准备工作:
1.注册聚合数据账号:https://www.juhe.cn 2.企业或个人认证(未认证不能使用) 3.申请相关数据服务,本文主要针对实现 --> 三网手机认证(可以申请前10条免费) 4.个人中心 --> 我的数据可以看到AppKey
代码实现:
views.py 文件
def certify(self
, request
):
try:
form
= AuthenticationForm
(request
.POST
)
if form
.is_valid
():
real_name
= form
.cleaned_data
.get
('real_name')
ID_card
= form
.cleaned_data
.get
('ID_card')
mobile
= form
.cleaned_data
.get
('mobile')
if not all([real_name
, ID_card
, mobile
]):
return restful
.paramserror
(message
='参数不全!')
'''
可添加自己的判断让程序更完善
'''
dict_info
= {}
dict_info
['key'] = '3xxxxxxxxxxxxxxxx7'
dict_info
['realname'] = real_name
dict_info
['idcard'] = ID_card
dict_info
['mobile'] = mobile
dict_info
['detail'] = 1
url
= "http://v.juhe.cn/telecom/query" + "?" + urllib
.parse
.urlencode
(dict_info
)
request
= urllib
.request
.Request
(url
)
result
= urllib
.request
.urlopen
(request
)
jsonarr
= json
.loads
(result
.read
().decode
('utf-8'))
res
= jsonarr
['result']
if jsonarr
['error_code'] == 0:
if res
['res'] == 1:
'''
业务逻辑(保存数据库等操作)
'''
return restful
.result
(message
='认证成功!', data
=res
)
return restful
.paramserror
(message
='认证失败,请确认信息是否正确!', data
='')
else:
return restful
.paramserror
(message
='请检查输入的信息是否有误!')
except AssertionError
as e
:
return restful
.paramserror
(message
=str(e
))
except Exception
as e
:
return restful
.paramserror
(message
=str(e
))
以上代码只提供简单的实名认证功能思路,用于参考,如果考虑到各种可能出现的情况则需要进一步完善。切不可直接用于商用,否则出现任何后果概不负责。