Ruby Net::FTP SOCKS-on át: a bejelentkezés működik, a letöltések megakadnak
Kövesd a Ruby FTP vezérlő- és adatkapcsolatait ugyanazon a szándékolt proxyútvonalon.
Az FTP-bejelentkezés vezérlőkapcsolatot használ. Ezután a könyvtárlistázáshoz vagy a letöltéshez adatkapcsolat kell, amely akkor is meghiúsulhat, ha a bejelentkezés SOCKS-on át sikerült.
Először állapítsd meg a passzív vagy aktív módot. Passzív módban a kliens új kapcsolatot nyit az FTP-kiszolgáló által megadott címre és portra. Ennek a kapcsolatnak is szüksége van a szándékolt proxyútvonalra.
Ruby socket-integráció
A Ruby Net::FTP API-ja dokumentálja a kapcsolat és a passzív mód viselkedését. A SOCKS-integrációnak le kell fednie a socket létrehozását, amelyet a vezérlő- és az adatútvonal is használ; egy HTTP-kliens máshol beállított proxyja nem konfigurálja ezeket.
Ha az integráció globálisan megváltoztatja a socket viselkedését, vizsgáld felül a szálakra vonatkozó hatókörét. Egyetlen átvitel körüli blokk nem tudja elszigetelni a többi szálat a megosztott állapot változásaitól.
A szolgáltató kínálhat statikus végpontot, de ez szolgáltatási jellemző, nem általános SOCKS-követelmény. Ahol külön kapcsolatok különböző kimeneteket használhatnak, ellenőrizd, hogyan társítja az FTP-kiszolgáló az adatkapcsolatát a hitelesített vezérlőkapcsolathoz.
Jegyezd fel az elért szakaszt, a módot és az adatvégpontot, a hitelesítő adatok nélkül. Ez megkülönbözteti az elzárt adatútvonalat a proxy-bejelentkezés hibájától.