android的Retrofit请求https://192.168.43.73:8080/报错:Handshake failed

1.报错原因:Handshake failed(握手失败)

2.原来的url地址为:

java 复制代码
    //这里加了s(https)
    private static final String BASE_URL = "https://192.168.43.73:8080/";  // 替换为你的接口域名

要更改为:

java 复制代码
    //这里没加s(http)
    private static final String BASE_URL = "http://192.168.43.73:8080/";  // 替换为你的接口域名

这两者的区别是:一个加s(https),一个没加s(http)。要改成不加s

3.需要开启明文HTTP(仅测试环境)

从Android 9.0 (API 28) 开始,系统默认禁止明文HTTP请求。

第一步 在res/xml 目录创建

ggh.xml 文件 :

java 复制代码
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">192.168.43.73</domain> <!-- 你的测试服务器IP -->
    </domain-config>
</network-security-config>

在 AndroidManifest.xml 中引用该配置文件:

java 复制代码
<application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"

        //在这里引用ggh,这句话需要删除,现在只是提示给你看
        android:networkSecurityConfig="@xml/ggh"

        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MyApplication001"
        tools:targetApi="31">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="android.app.lib_name"
                android:value="" />
        </activity>
    </application>

</manifest>

4.添加网络权限

在 AndroidManifest.xml 中确保已添加网络权限:

java 复制代码
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

5.再次重新安装运行app,发现已经可以正常请求url地址了,并且有数据返回给安卓端

相关推荐
simplepeng20 小时前
Room 3.0 KMP Alpha-01
android·kotlin·android jetpack
Lei活在当下20 小时前
Windows 下 Codex 高效工作流最佳实践
android·openai·ai编程
fatiaozhang952720 小时前
基于slimBOXtv 9.19.0 v4(通刷晶晨S905L3A/L3AB芯片)ATV-安卓9-完美版线刷固件包
android·电视盒子·刷机固件·机顶盒刷机·晶晨s905l3ab·晶晨s905l3a
私房菜1 天前
Selinux 及在Android 的使用详解
android·selinux·sepolicy
一只特立独行的Yang1 天前
Android中的系统级共享库
android
两个人的幸福online1 天前
php开发者 需要 协程吗
android·开发语言·php
修炼者1 天前
WindowManager(WMS)构建全局悬浮窗
android
xiaoshiquan12061 天前
Android Studio里,SDK Manager显示不全问题
android·ide·android studio
Lstone73641 天前
Bitmap深入分析(一)
android
一起搞IT吧1 天前
Android功耗系列专题理论之十四:Sensor功耗问题分析方法
android·c++·智能手机·性能优化