L'inici de sessió FTP utilitza una connexió de control. Després, un llistat de directori o una baixada necessita una connexió de dades, que pot fallar tot i que l'inici de sessió per SOCKS hagi funcionat.

Primer identifica el mode passiu o actiu. En mode passiu, el client obre una connexió nova a l'adreça i el port que indica el servidor FTP. Aquesta connexió també necessita el camí de proxy previst.

Integració de sockets a Ruby

L'API Net::FTP de Ruby documenta el comportament de la connexió i del mode passiu. Una integració SOCKS ha de cobrir la creació del socket que fan servir tant el camí de control com el de dades; la configuració de proxy d'un client HTTP en un altre lloc no els configura.

Si la integració canvia el comportament del socket globalment, revisa el seu abast de concurrència. Un bloc al voltant d'una transferència no pot aïllar altres fils dels canvis en l'estat compartit.

Un proveïdor pot oferir un punt final estàtic, però això és una característica del servei, no un requisit general de SOCKS. Quan connexions separades poden fer servir sortides diferents, comprova com el servidor FTP associa la seva connexió de dades amb la connexió de control autenticada.

Anota l'etapa assolida, el mode i el punt final de dades, sense credencials. Això distingeix un camí de dades bloquejat d'una fallada d'inici de sessió al proxy.

Articles relacionats