رفتن به مطلب
  • 0

مشکل handshak failed در اندروید 7


f.najafi

سوال

سلام خدمت دوستان امیدوارم حالتون خوب باشه
ببخشید من یه اپلیکیشنی ساختم که در ابتدا لینک سرور http بود اما بعد از یه مدتی ادرس سرور به https تغییر کرد که بعد از اون تو اندروید 7 مشکل
handshake failed پیدا کردم،خیلی راه ها رو امتحان کردم اما جواب نداد، به طور مرتب این ارور رو میده در صورتی که تو اندروید 9 یا 10 و…مشکلی نداره، کسی میدونه راه حل چیه؟؟؟خیلی ضروریه ممنونم میشم کمکم کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

3 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در 41 دقیقه قبل، f.najafi گفته است :

سلام خدمت دوستان امیدوارم حالتون خوب باشه
ببخشید من یه اپلیکیشنی ساختم که در ابتدا لینک سرور http بود اما بعد از یه مدتی ادرس سرور به https تغییر کرد که بعد از اون تو اندروید 7 مشکل
handshake failed پیدا کردم،خیلی راه ها رو امتحان کردم اما جواب نداد، به طور مرتب این ارور رو میده در صورتی که تو اندروید 9 یا 10 و…مشکلی نداره، کسی میدونه راه حل چیه؟؟؟خیلی ضروریه ممنونم میشم کمکم کنید

سلام. کدهای ارتباط با سرورتون رو پیوست کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

روش اتصال به سرور از طریق retrofit هست

class G : Application() {
        var okHttpClient = OkHttpClient.Builder()
            .connectTimeout(60,TimeUnit.SECONDS)
            .writeTimeout(60,TimeUnit.SECONDS)
            .readTimeout(60,TimeUnit.SECONDS)
            .build()


        val gson = GsonBuilder()
            .registerTypeAdapter(User::class.java, User.DataStateDeserializer())
            .create()

            retrofit = Retrofit.Builder()
                .client(okHttpClient)
                .baseUrl(General.BaseUrl)
                .addConverterFactory(GsonConverterFactory.create(gson))
                .build()
        retrofit2 = Retrofit.Builder()
                .client(okHttpClient)
                .baseUrl(General.ImgUrl)
                .addConverterFactory(GsonConverterFactory.create(gson))
             .build()


        myAPI = retrofit.create(MyAPI::class.java)
}

 

این کلاس G هست که تو منیفست هم قرار داره .کلی هست

   G.myAPI.Gorooh_list(header).enqueue(object : Callback<ArrayList<Model>> {
            override fun onResponse(call: Call<ArrayList<Model>>, response: Response<ArrayList<Model>>) {
                try {
                    swipeRefreshLayout.setRefreshing(false)
                    if (response.isSuccessful) {
                        if (response.body()!!.size > 0) {
                            if (isAdded) {

                                Get_daste(header,response.body()!![0].id)

                            }
                        } else {

                        }

                    }
                    else {
                        when (response.code()) {
                            401 -> {
                                context?.startActivity(Intent(context, LoginActivity::class.java))
                                activity?.finish()
                            }
                            500 -> {
                                var alert = ViewDialog()
                                alert.showDialog_error(
                                    context!!,
                                    context!!.resources.getString(R.string.er500)
                                )
                            }
                        }
                    }
                }catch (e : Exception){}

            }
            override fun onFailure(call: Call<ArrayList<Model>>, t: Throwable) {
                try{
                    swipeRefreshLayout.setRefreshing(false)
                }
                catch (e : Exception){

                }

            }

        })

واین کد هم یه نمونه کد برای اتصال به به api خاص هست

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 38 دقیقه قبل، f.najafi گفته است :

روش اتصال به سرور از طریق retrofit هست

 

این کلاس G هست که تو منیفست هم قرار داره .کلی هست

واین کد هم یه نمونه کد برای اتصال به به api خاص هست

 

عزیز لطفا کدهاتونو توی تگ کد قرار بدین.اینجوری در هم نزارید

برای مشکل هم باید ssl رو غیر فعال کنید که کار جالبی نیست.باید از سمت سرور مدیدریت بشه این مورد.از اندروید ۵ به بالا اندروید موردی با ssl نداره. تاپیک زیر برای غیر فعال کردن ssl هست

https://stackoverflow.com/questions/37686625/disable-ssl-certificate-check-in-retrofit-library

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...