Xamarin实现登录功能报Cleartext HTTP traffic不允许错误求助
你遇到的报错核心原因是网络安全配置文件中domain标签的写法不符合规范,按以下步骤修改即可解决:
步骤1:修正网络安全配置文件
你当前net_sec_conf.xml里的<domain>标签错误携带了HTTP协议前缀、端口和路径,domain标签仅需填写主机域名即可,修改后的完整配置如下:
<network-security-config> <base-config cleartextTrafficPermitted="false"> <trust-anchors> <certificates src="system" /> </trust-anchors> </base-config> <domain-config cleartextTrafficPermitted="true"> <!-- 仅填写域名,不要加http前缀、端口、路径后缀 --> <domain includeSubdomains="true">smartentry.visitmydemo.xyz</domain> <trust-anchors> <certificates src="system" /> </trust-anchors> </domain-config> </network-security-config>
如果是本地调试阶段不需要严格限制域名,也可以直接将base-config的cleartextTrafficPermitted改成true,全局放行明文流量。
步骤2:清理项目缓存重新部署
Xamarin安卓项目修改资源类配置后经常出现缓存不更新的问题,按以下操作清理:
- 右键解决方案选择「清理」
- 手动删除安卓项目下的
bin、obj文件夹 - 重新生成解决方案后部署到设备/模拟器
额外优化建议
你当前将账号密码直接拼接在GET请求的URL中,会有严重的信息泄露风险,建议将登录接口改为POST请求,把账号密码放在请求体中传输,避免日志、代理等场景泄露敏感信息。
内容的提问来源于stack exchange,提问作者Gajjar Shalin
相关产品推荐
相关产品推荐

