我正在使用Cloudtrax HTTP Authentication API为具有强制网络门户的路由器身份验证创建自定义逻辑。
当路由器请求状态请求时,服务器会响应以下内容:
"CODE" "ACCEPT"
"RA" "1c65684265a2bb1a7c87e4d9565c2b18"
"SECONDS" "3600"
"DOWNLOAD" "2000"
"UPLOAD" "800"
哪个应该是 de 正确的答案格式来登录用户。问题是强制网络门户仍然存在。
我不知道可能是什么问题,我无法在路由器或cloudtrax上找到日志以查看可能出现的问题。
编辑:
我正在处理 django (python) 上的 RA 字符串:
import hashlib
def calculate_ra(request, response):
code = response.get('CODE')
if not code:
return ''
previus_ra = request.GET.get('ra')
if not previus_ra:
return ''
if len(previus_ra) != 32:
return ''
previus_ra = previus_ra.decode('hex')
m = hashlib.md5()
m.update('{}{}{}'.format(code, previus_ra, SECRET))
response['RA'] = m.hexdigest()
使用 SSH 登录路由器并通过发送以下命令启用调试模式:
uci set http_portal.general.syslog=debug
uci commit
/etc/init.d/underdogsplash restart
然后使用logread -f
实时查看日志。
完成后不要忘记禁用调试模式:
uci set http_portal.general.syslog=err
uci commit
/etc/init.d/underdogsplash restart