SOCKS ଦେଇ Ruby Net::FTP: ଲଗଇନ କାମ କରେ, ଡାଉନଲୋଡ ଅଟକି ଯାଏ
Ruby FTPର କଣ୍ଟ୍ରୋଲ ଓ ଡାଟା ସଂଯୋଗକୁ ସେହି ଉଦ୍ଦିଷ୍ଟ ପ୍ରକ୍ସି ପଥରେ ଟ୍ରେସ କରନ୍ତୁ।
FTP ଲଗଇନ ଏକ କଣ୍ଟ୍ରୋଲ ସଂଯୋଗ ବ୍ୟବହାର କରେ। ତା ପରେ ଡିରେକ୍ଟରୀ ତାଲିକା କିମ୍ବା ଡାଉନଲୋଡକୁ ଡାଟା ସଂଯୋଗ ଦରକାର, ଯାହା SOCKS ଦେଇ ଲଗଇନ ସଫଳ ହେଲେ ମଧ୍ୟ ବିଫଳ ହୋଇପାରେ।
ପ୍ରଥମେ ପ୍ୟାସିଭ କିମ୍ବା ଆକ୍ଟିଭ ମୋଡ ଚିହ୍ନଟ କରନ୍ତୁ। ପ୍ୟାସିଭ ମୋଡରେ କ୍ଲାଏଣ୍ଟ FTP ସର୍ଭର ଦେଇଥିବା ଠିକଣା ଓ ପୋର୍ଟକୁ ନୂଆ ସଂଯୋଗ ଖୋଲେ। ସେହି ସଂଯୋଗକୁ ମଧ୍ୟ ଉଦ୍ଦିଷ୍ଟ ପ୍ରକ୍ସି ପଥ ଦରକାର।
Ruby ସକେଟ ସମନ୍ୱୟ
Rubyର Net::FTP API ଏହାର ସଂଯୋଗ ଓ ପ୍ୟାସିଭ-ମୋଡ ଆଚରଣ ଦସ୍ତାବେଜ କରେ। SOCKS ସମନ୍ୱୟ କଣ୍ଟ୍ରୋଲ ଓ ଡାଟା ଦୁଇ ପଥ ବ୍ୟବହାର କରୁଥିବା ସକେଟ ସୃଷ୍ଟିକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରିବା ଆବଶ୍ୟକ; ଅନ୍ୟତ୍ର HTTP କ୍ଲାଏଣ୍ଟର ପ୍ରକ୍ସି ସେଟିଂ ସେଗୁଡିକୁ କନଫିଗର କରେ ନାହିଁ।
ଯଦି ସମନ୍ୱୟ ସକେଟ ଆଚରଣକୁ ବୈଶ୍ୱିକ ଭାବେ ବଦଳାଏ, ଏହାର ଥ୍ରେଡ ପରିସର ସମୀକ୍ଷା କରନ୍ତୁ। ଏକ ସ୍ଥାନାନ୍ତର ଚାରିପାଖରେ ଥିବା ବ୍ଲକ ଅନ୍ୟ ଥ୍ରେଡକୁ ସାଝା ଅବସ୍ଥାର ପରିବର୍ତ୍ତନରୁ ଅଲଗା କରିପାରିବ ନାହିଁ।
ପ୍ରଦାତା ସ୍ଥିର ଏଣ୍ଡପଏଣ୍ଟ ଦେଇପାରେ, କିନ୍ତୁ ତାହା ସେବା ବୈଶିଷ୍ଟ୍ୟ, SOCKSର ସାଧାରଣ ଆବଶ୍ୟକତା ନୁହେଁ। ଯେଉଁଠି ଅଲଗା ସଂଯୋଗ ଅଲଗା ଏକ୍ଜିଟ ବ୍ୟବହାର କରିପାରେ, ସେଠାରେ FTP ସର୍ଭର ତାର ଡାଟା ସଂଯୋଗକୁ ପ୍ରମାଣିତ କଣ୍ଟ୍ରୋଲ ସଂଯୋଗ ସହ କିପରି ଯୋଡ଼େ ତାହା ଯାଞ୍ଚ କରନ୍ତୁ।
ପହଞ୍ଚିଥିବା ପର୍ଯ୍ୟାୟ, ମୋଡ ଓ ଡାଟା ଏଣ୍ଡପଏଣ୍ଟ କ୍ରେଡେନସିଆଲ ବାହାର କରି ରେକର୍ଡ କରନ୍ତୁ। ଏହା ଅବରୋଧିତ ଡାଟା ପଥ ଓ ପ୍ରକ୍ସି ଲଗଇନ ବିଫଳତା ମଧ୍ୟରେ ପାର୍ଥକ୍ୟ କରେ।