当前位置: 首页 > news >正文

Android retrofit 接口请求,提示CLEARTEXT communication处理

一、背景

使用Retrofit 网络框架进行后端本地接口请求,提示CLEARTEXT communication to 192.168.134.10 not permitted by network security policy

原理:在Android应用中使用Retrofit框架进行网络请求时,出于安全考虑,Android 10(API级别29)及以上版本对明文通信(如HTTP而非HTTPS)进行了限制。这意味着,如果你尝试连接到本地网络或测试服务器(如IP地址192.168.134.10)而没有使用HTTPS,你的应用可能会遇到问题。

二、解决方案

方案一:使用HTTPS

如果你的服务器支持HTTPS,这是最简单且最安全的解决方案。你可以购买SSL证书并将其配置在服务器上,然后使用HTTPS协议进行通信。

方案二:添加网络安全性配置

可以在你的AndroidManifest.xml中添加网络安全性配置,以允许明文流量。在你的<application>标签内添加:

<application
    ...
    android:networkSecurityConfig="@xml/network_security_config">
    ...
</application>

然后,在res/xml目录下创建一个名为network_security_config.xml的文件,并添加以下内容:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">192.168.134.10</domain> //这里的ip换为自己的ip
    </domain-config>
</network-security-config>

相关文章:

  • C++20 中线程管理与取消机制的深度剖析
  • SARAD 解读
  • RabbitMQ消息可靠性问题
  • string类--C++
  • 场景题:如何设计一个抢红包随机算法
  • 解析漏洞总结
  • Java 24新特性概述
  • 【初学者】Python语言中有没有指针类型?
  • 夯实 kafka 系列|第一章:初识 kafka
  • 模型(分类模型、回归模型、聚类模型)的评分指标
  • dns实现主服务器
  • leetcode hot100(五)
  • 【实用部署教程】olmOCR智能PDF文本提取系统:从安装到可视化界面实现
  • 企业年度经营计划制定与管理方法论(124页PPT)(文末有下载方式)
  • CSS Grid 布局
  • JVM OOM问题如何排查和解决
  • 面试提问:如何判断 Hive 表是内部表还是外部表?
  • MySQL 入门大全:运算符
  • 基于Selenium Grid的分布式测试架构设计与深度实践
  • springboot444-基于Vue的网络小说交流平台(源码+数据库+纯前后端分离+部署讲解等)
  • 中东睿评|特朗普中东三国行:喧嚣的形式与空洞的实质
  • 乌拉圭前总统何塞·穆希卡去世
  • “无锡景・江南韵”:中国评弹艺术在尼日利亚收获众多粉丝
  • 山东枣庄同一站点两名饿了么骑手先后猝死,当地热线:职能部门正调查
  • 媒体和打拐志愿者暗访长沙一地下代孕实验室,警方已控制涉案人员
  • 河南洛阳新安县煤渣倾倒耕地:多年难恢复,为何至今未解决?