Գոյություն ունեցող Netty bootstrap/pipeline-ի համար, որտեղ SOCKS սերվերը պետք է լուծի նպատակակետը՝

bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);

pipeline.addFirst(
    new Socks5ProxyHandler(new InetSocketAddress("127.0.0.1", 1080))
);

bootstrap.connect(
    InetSocketAddress.createUnresolved("example.com", 443)
);

Պրոքսի վերջնակետը տեղական 1080 պորտն է. չլուծված կապակցման թիրախը example.com:443 է։ Մի՛ օգտագործեք պրոքսի հասցեն երկու դերերի համար և մի՛ լուծեք անունը, մինչև մշակիչը ստանա այն։ Թույլատրված հանրային պրոքսի երթուղու հանրային թիրախների համար SOCKS5 պրոքսիների ցանկը տրամադրում է թեկնածուներ մշակիչի պրոքսի վերջնակետի համար։

Տեղադրեք Socks5ProxyHandler-ը նպատակակետի տրաֆիկը փոխանակող մշակիչներից առաջ։ Սպասեք դրա պրոքսի կապակցման future-ին, ոչ միայն լսողին հասնող ալիքի։ Մերժված մեթոդը կամ նպատակակետը պատկանում է այս կարգավորման փուլին։

HTTPS-ի համար հաջորդ TLS շերտը օգտագործում է նպատակակետի հոսթի անունը, պահանջվող ստուգումը և վստահությունը—ոչ SOCKS վերջնակետի ինքնությունը։ Միայն դրանից հետո է սկսվում HTTP/հավելվածի փոխանակումը։

Հատվածը չի տրամադրում իրադարձությունների ցիկլեր, ալիքի տեսակներ, TLS/HTTP մշակիչներ կամ սովորական սխալների մշակում։ Ընտրեք նույնականացման կարիքներին համապատասխան SOCKS կոնստրուկտորը. HTTP Basic մշակիչը այլ արձանագրություն է։

Օգտագործեք no-op resolver-ը միայն այնտեղ, որտեղ այս ներքևի մշակիչը տիրապետում է հոսթի անվան լուծմանը։ Այլ կապակցումները կարող են պահանջել տեղական որոնում։ Խափանումը ախտորոշելիս առանձին պահեք resolver-ի ելքը, պրոքսի future-ը, TLS-ը և հավելվածի արդյունքը։

Առնչվող հոդվածներ