我想连接我的本地服务器并使用retrofit获取一些数据,但我给出了“无法解析TLS数据包标题”的错误,但我无法解决此问题,请给我解决方案
servicebuilder.kt扣:无法解析TLS数据包标题
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)
}
})
}
}
https更改为Http.。
使用Chewie Player(基于Flutter Video Player)使用HTTPS播放视频时,我们会定期遇到此错误。