תקשורת API מאנדרויד

שלום,

אני מנסת להתחבר לשרת חיצוני (לא שלי) ע"י תקשורת POST או GET וזה אמור להיות ממש פשוט ויש לי כבר תקשורות שונות בתוכנית שלי אלא שהפעם אני נתקלת בבעיה ולא מצליחה לצאת ממנה.

לפני שאתחיל אקדים שגרסת האנדרואיד היא 4.4 ולא עומדת להשתנות, עוד נקודה אני עובדת עם eclipse.

הודעת השגיאה שקיבלתי כל הזמן היא "connection closed by peer"

הבנתי שיש לי בעיה ב TLS  בשיחה עם נציג החברה שאלתי אותו אם הם עובדים עם TLS1.2 והוא ענה שכן, וניסיתי את כל האפשרויות שראיתי ברשת עד שהורדתי JAR של OkHttpClient גירסא 3

עדיין הייתי עם אותה בעיה אחרי הרבה חיפוש הגעתי לקוד הזה:

 

String url = "https://api.honeywell.com/oauth2/token";
RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML").build();
Request request = new Request.Builder().url(url).post(requestBody).build();
ConnectionSpec spec = new ConnectionSpec.Builder(ConnectionSpec.COMPATIBLE_TLS).tlsVersions(TlsVersion.TLS_1_2)
           .cipherSuites(CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 
            CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
            CipherSuite.TLS_DHE_DSS_WITH_AES_256_GCM_SHA384,
            CipherSuite.TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
            CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
            CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
            CipherSuite.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,
            CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256).build();
 
OkHttpClient client = new OkHttpClient();client = new OkHttpClient.Builder().connectionSpecs(Collections.singletonList(spec)).build();

response = client.newCall(request).execute();

 

שנותן לי את השגיאה :

 

Unable to find acceptable protocols. isFallback=false, modes=[ConnectionSpec(cipherSuites=[TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384], tlsVersions=[TLS_1_2], supportsTlsExtensions=true)], supported protocols=[SSLv3, TLSv1]

 

אני מרגישה חסרת אונים,
יש מישהו שיכול להסביר לי את השגיאה ?

תודה !!

 

  • עליך להתחבר בשביל להגיב
  • עליך להתחבר בשביל לכתוב תשובה

    התחבר הרשם

    כתוב תשובה לשאלה