【问题标题】:Unable to parse TLS packet header android studio无法解析 TLS 数据包头 android studio
【发布时间】:2021-07-25 08:29:09
【问题描述】:

我想连接我的本地服务器并使用 Retrofit 获取一些数据,但我给出了错误“无法解析 TLS 数据包头”,我无法解决这个问题,请给我一个解决方案

onFailure: 无法解析 TLS 数据包头

ServiceBuilder.kt

object ServiceBuilder {
    private val client = OkHttpClient.Builder()
        .connectionSpecs(listOf(ConnectionSpec.MODERN_TLS) )
        .build()

    private val retrofit = Retrofit.Builder()
        .baseUrl(Config().BASE_URL)# "https://10.0.2.2:5000"
        .addConverterFactory(GsonConverterFactory.create())
        .client(client)
        .build()

    fun<T> buildService(service: Class<T>): T{
        Security.insertProviderAt(Conscrypt.newProvider(), 1);
        return retrofit.create(service)
    }
}

LinesrsEndpoint.kt

interface LinesrsEndpoint{
    @GET("/getAllLinesrs")
    fun getLinesrs(): Call<AllLinesrs>
}

LinesRs.kt

data class AllLinesrs(val results:List<Linesrs>)

data class Linesrs(
    var lineId: Int,
    var symbolId: String,
    var lineStart: String,
    var lineEnd: String,
    var lineTimeFrame: String,
    var lineInsertTime: String,
    var lineSensDgre: String,
    var linesrsGroupId: String,
    var userId: String,
    var user: User

)

MainActivity.kt

class MainActivity: AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_add_trend_line)

        val request = ServiceBuilder.buildService(LinesrsEndpoint::class.java)
        val call = request.getLinesrs()

        call.enqueue(object : Callback<AllLinesrs> {
            override fun onResponse(call: Call<AllLinesrs>, response: Response<AllLinesrs>) {
                if (response.isSuccessful) {
                    Log.e("hamid", "onResponse: "+response.body() )
                }
            }

            override fun onFailure(call: Call<AllLinesrs>, t: Throwable) {
                Log.e("hamid", "onFailure: " + t.message)
            }
        })
    }

}

【问题讨论】:

  • 您确定端口 5000 服务于 https 而不是 http?

标签: kotlin retrofit okhttp


【解决方案1】:

试试这个:将基本 URL 从 https 更改为 http

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 2015-11-13
    • 1970-01-01
    相关资源
    最近更新 更多