SOCKS ਰਾਹੀਂ Ruby Net::FTP: ਲੌਗਇਨ ਚੱਲਦਾ ਹੈ, ਡਾਊਨਲੋਡ ਅਟਕਦੇ ਹਨ
Ruby FTP ਦੇ ਕੰਟਰੋਲ ਅਤੇ ਡੇਟਾ ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਉਸੇ ਇੱਛਤ ਪ੍ਰੌਕਸੀ ਮਾਰਗ ਰਾਹੀਂ ਟਰੇਸ ਕਰੋ।
FTP ਲੌਗਇਨ ਇੱਕ ਕੰਟਰੋਲ ਕਨੈਕਸ਼ਨ ਵਰਤਦਾ ਹੈ। ਫਿਰ ਡਾਇਰੈਕਟਰੀ ਸੂਚੀ ਜਾਂ ਡਾਊਨਲੋਡ ਲਈ ਡੇਟਾ ਕਨੈਕਸ਼ਨ ਚਾਹੀਦਾ ਹੈ, ਜੋ SOCKS ਰਾਹੀਂ ਲੌਗਇਨ ਸਫਲ ਹੋਣ ’ਤੇ ਵੀ ਫੇਲ੍ਹ ਹੋ ਸਕਦਾ ਹੈ।
ਪਹਿਲਾਂ ਪੈਸਿਵ ਜਾਂ ਐਕਟਿਵ ਮੋਡ ਪਛਾਣੋ। ਪੈਸਿਵ ਮੋਡ ਵਿੱਚ ਕਲਾਇੰਟ FTP ਸਰਵਰ ਵੱਲੋਂ ਦਿੱਤੇ ਪਤੇ ਅਤੇ ਪੋਰਟ ’ਤੇ ਨਵਾਂ ਕਨੈਕਸ਼ਨ ਖੋਲ੍ਹਦਾ ਹੈ। ਉਸ ਕਨੈਕਸ਼ਨ ਨੂੰ ਵੀ ਇੱਛਤ ਪ੍ਰੌਕਸੀ ਮਾਰਗ ਚਾਹੀਦਾ ਹੈ।
Ruby ਸਾਕਟ ਏਕੀਕਰਨ
Ruby ਦਾ Net::FTP API ਇਸ ਦੇ ਕਨੈਕਸ਼ਨ ਅਤੇ ਪੈਸਿਵ-ਮੋਡ ਵਿਵਹਾਰ ਦਾ ਦਸਤਾਵੇਜ਼ ਕਰਦਾ ਹੈ। SOCKS ਏਕੀਕਰਨ ਨੂੰ ਕੰਟਰੋਲ ਅਤੇ ਡੇਟਾ ਦੋਵੇਂ ਮਾਰਗਾਂ ਵੱਲੋਂ ਵਰਤੀ ਜਾਂਦੀ ਸਾਕਟ ਬਣਾਉਣ ਨੂੰ ਕਵਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ; ਕਿਤੇ ਹੋਰ HTTP ਕਲਾਇੰਟ ਦੀ ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗ ਉਨ੍ਹਾਂ ਨੂੰ ਕਨਫਿਗਰ ਨਹੀਂ ਕਰਦੀ।
ਜੇ ਏਕੀਕਰਨ ਸਾਕਟ ਵਿਵਹਾਰ ਨੂੰ ਆਲਮੀ ਤੌਰ ’ਤੇ ਬਦਲਦਾ ਹੈ, ਤਾਂ ਇਸ ਦੀ ਥ੍ਰੈਡਸ ਸੰਬੰਧੀ ਵਿਆਪਤੀ ਦੀ ਸਮੀਖਿਆ ਕਰੋ। ਇੱਕ ਟ੍ਰਾਂਸਫਰ ਦੁਆਲੇ ਦਾ ਬਲਾਕ ਹੋਰ ਥ੍ਰੈਡਾਂ ਨੂੰ ਸਾਂਝੀ ਸਥਿਤੀ ਦੇ ਬਦਲਾਵਾਂ ਤੋਂ ਵੱਖ ਨਹੀਂ ਕਰ ਸਕਦਾ।
ਪ੍ਰਦਾਤਾ ਸਥਿਰ ਐਂਡਪੌਇੰਟ ਦੇ ਸਕਦਾ ਹੈ, ਪਰ ਉਹ ਸੇਵਾ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ, SOCKS ਦੀ ਆਮ ਲੋੜ ਨਹੀਂ। ਜਿੱਥੇ ਵੱਖਰੇ ਕਨੈਕਸ਼ਨ ਵੱਖਰੇ ਐਗਜ਼ਿਟ ਵਰਤ ਸਕਦੇ ਹਨ, ਉੱਥੇ ਜਾਂਚੋ ਕਿ FTP ਸਰਵਰ ਆਪਣੇ ਡੇਟਾ ਕਨੈਕਸ਼ਨ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕੰਟਰੋਲ ਕਨੈਕਸ਼ਨ ਨਾਲ ਕਿਵੇਂ ਜੋੜਦਾ ਹੈ।
ਪਹੁੰਚਿਆ ਪੜਾਅ, ਮੋਡ ਅਤੇ ਡੇਟਾ ਐਂਡਪੌਇੰਟ ਦਰਜ ਕਰੋ, ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਹਟਾ ਕੇ। ਇਹ ਰੋਕੇ ਗਏ ਡੇਟਾ ਮਾਰਗ ਅਤੇ ਪ੍ਰੌਕਸੀ ਲੌਗਇਨ ਫੇਲ੍ਹ ਹੋਣ ਵਿੱਚ ਫ਼ਰਕ ਕਰਦਾ ਹੈ।