SOCKS կարգավորումներ Apache HttpClient 5.5-ում միացումների կառավարչի վրա
Կարգավորեք լողավազանի socket քաղաքականությունը SocketConfig-ով՝ HTTP proxy երթուղու կամ սեփական socket գործարանի փոխարեն։
Apache HttpClient 5.5-ը միացումների կառավարչի socket կարգավորումներում ներառում է SOCKS կարգավորման ուղի։ Դրա պահպանվող օրինակն օգտագործում է setSocksProxyAddress:
InetSocketAddress socks =
new InetSocketAddress("proxy.example.net", 1080);
PoolingHttpClientConnectionManager manager =
PoolingHttpClientConnectionManagerBuilder.create()
.setDefaultSocketConfig(
SocketConfig.custom()
.setSocksProxyAddress(socks)
.build()
)
.build();
CloseableHttpClient client = HttpClients.custom()
.setConnectionManager(manager)
.build();
Այս հատվածը օգտագործում է HttpClient 5-ի org.apache.hc փաթեթները և HttpCore-ի SocketConfig-ը։ Այս հաճախորդով արված հարցումներն օգտագործում են վերևում կարգավորված լողավազանը։ Փակեք հաճախորդը, երբ ծրագրի սեփականության շրջանակն ավարտվի։
Տեղադրեք կայքի փաստացի URL-ը հարցման վրա, ինչպես սովորաբար։ Առանց proxy նույնականացման թույլատրված հանրային կայքերի հարցումների համար SOCKS proxy ցանկը առաջարկում է թեկնածու հասցեներ․ ընտրեք SOCKS տարբերակ, որն աջակցում է փաստացի գործարկման միջավայրը։ SOCKS հասցեն կարգավորում է դրան հասնելու համար օգտագործվող տրանսպորտը․ այն HttpHost-ով տրված HTTP ուղղորդող proxy երթուղի չէ։
Սրանք այս կառավարչի լռելյայն socket կարգավորումներն են։ Ամեն երթուղու համար SocketConfig լուծիչ օգտագործող ծրագիրը պետք է ցանկալի SOCKS կարգավորումը կիրառի այդ քաղաքականության միջոցով։ Օրինակը պահպանում է միացումների կառավարչի սովորական նպատակակետ DNS քաղաքականությունը․ հեռավոր անվան լուծումը պահանջում է առանձին ստուգված կարգավորում։