HttpClient 4 פּראָקסי טעות: דער http פּראָטאָקאָל ווערט נישט געשטיצט
האַלט די פּשוטע HTTP פֿאַבריק אין אַ באַזונדער Apache HttpClient 4 רעגיסטער ווען אַ HTTPS וועג פֿאַרבינדט זיך צוערשט מיט אַ HTTP פּראָקסי.
אין אַן Apache HttpClient 4 אַפּליקאַציע מיינט אַ HTTPS ציל נישט אַז יעדער פֿאַרבינדונג הייבט אָן מיט TLS. צו אַ געוויינטלעכן HTTP פּראָקסי קומט מען דורך אַ נישט פֿאַרשליטעלטער פֿאַרבינדונג, איידער CONNECT עפֿנט דעם טונעל און TLS ווערט געשיכטעט צום ציל.
אויב אַ באַזונדערער פֿאַרבינדונג פֿאָרוואַלטער רעגיסטרירט נאָר https, קען דער ערשטער פּראָקסי שפּרונג פֿעלן מיט UnsupportedSchemeException: http protocol is not supported.
פֿאַר דער 4.5 API, שליס איין ביידע פֿאַבריקן ביים בויען יענעם פֿאָרוואַלטער:
var registry = RegistryBuilder.<ConnectionSocketFactory>create()
.register("http", PlainConnectionSocketFactory.getSocketFactory())
.register("https", tlsFactory)
.build();
var manager = new PoolingHttpClientConnectionManager(registry);
var client = HttpClients.custom()
.setConnectionManager(manager)
.setProxy(new HttpHost("proxy.example.net", 8080, "http"))
.build();
tlsFactory איז די עקזיסטירנדע SSLConnectionSocketFactory פֿון דער אַפּליקאַציע, מיט איר געפּלאַנטער פֿאַרטרויען־ און האָסט־נאָמען פּרופֿונג. די געוויזענע טיפּן געהערן צו די org.apache.http פּאַקעטן פֿון Apache 4. דער שטיקל נעמט אָן אַז Java קען אָפּלערנען לאָקאַלע וועריאַבל טיפּן; עלטערע Java קאָד קען נוצן מפֿורשע טיפּן.
באַהעפֿט דעם פֿאַרריכטיקטן פֿאָרוואַלטער צו דעם קליענט וואָס ווערט טאַקע גענוצט פֿאַר דער בקשה. פֿאַר אַ דערלויבטע פּובליקע HTTPS בקשה אָן פּראָקסי־אויטענטיפֿיקאַציע קען אַ HTTP איינציקייט פֿון דער HTTP פּראָקסי ליסטע אָנפֿילן HttpHost ס פּראָקסי אַדרעס. אַן אַנדער בילדער קאָנפֿיגורירן דערהײַנטיקט נישט אַ שוין געבויטען קליענט.
באַטראַכט אויך דעם בילדער־אייגנטום: HttpClientBuilder דאָקומענטירט אַז אַ פֿאָרוואַלטער וואָס ווערט בפֿירושע געגעבן קען איבערקומען זיינע באַזונדערע SSL קאָנפֿיגוראַציע אַרייַנגאַנגען. לייגט די נויטיקע פֿאַבריקן אין דעם פֿאָרוואַלטערס רעגיסטער אַנשטאָט צו מיינען אַז אַ שפּעטערדיקער setSSLContext רוף וועט פֿאַרבײַטן זיין אינעווייניק.
די דיאַגנאָז באַטרעפֿט דעם לאָקאַלן סכימה־רעגיסטער. אַ פּראָקסי־אויטענטיפֿיקאַציע אַרויסרופֿונג אָדער אַ אָפּגעוואָרפֿענער ציל איז אַ שפּעטערדיקער, אַנדער רעזולטאַט. האַלט ביידע פֿאַבריק־רעגיסטראַציעס בשעת איר פֿאָרשט יענע ענטפֿערס.