SOCKS വഴി Ruby Net::FTP: ലോഗിൻ പ്രവർത്തിക്കുന്നു, ഡൗൺലോഡുകൾ തടഞ്ഞുനിൽക്കുന്നു
Ruby FTP-യുടെ കൺട്രോൾ, ഡാറ്റ കണക്ഷനുകൾ അതേ ഉദ്ദേശിച്ച പ്രോക്സി പാതയിലൂടെ പിന്തുടരുക.
FTP ലോഗിൻ ഒരു കൺട്രോൾ കണക്ഷൻ ഉപയോഗിക്കുന്നു. അതിനുശേഷം ഡയറക്ടറി ലിസ്റ്റിംഗിനോ ഡൗൺലോഡിനോ ഡാറ്റ കണക്ഷൻ ആവശ്യമാണ്, SOCKS വഴി ലോഗിൻ വിജയിച്ചാലും അത് പരാജയപ്പെടാം.
ആദ്യം പാസീവ് അല്ലെങ്കിൽ ആക്ടീവ് മോഡ് കണ്ടെത്തുക. പാസീവ് മോഡിൽ FTP സർവർ നൽകുന്ന വിലാസത്തിലേക്കും പോർട്ടിലേക്കും ക്ലയന്റ് പുതിയ കണക്ഷൻ തുറക്കുന്നു. ആ കണക്ഷനും ഉദ്ദേശിച്ച പ്രോക്സി പാത വേണം.
Ruby സോക്കറ്റ് സംയോജനം
Ruby-യുടെ Net::FTP API കണക്ഷൻ, പാസീവ് മോഡ് സ്വഭാവം രേഖപ്പെടുത്തുന്നു. SOCKS സംയോജനം കൺട്രോൾ, ഡാറ്റ എന്നീ രണ്ട് പാതകളും ഉപയോഗിക്കുന്ന സോക്കറ്റ് സൃഷ്ടി ഉൾക്കൊള്ളണം; മറ്റൊരിടത്തെ HTTP ക്ലയന്റിന്റെ പ്രോക്സി ക്രമീകരണം അവ കോൺഫിഗർ ചെയ്യുന്നില്ല.
സംയോജനം സോക്കറ്റ് സ്വഭാവം ആഗോളമായി മാറ്റുന്നുവെങ്കിൽ അതിന്റെ ത്രെഡ് പരിധി പരിശോധിക്കുക. ഒരു കൈമാറ്റത്തിനു ചുറ്റുമുള്ള ബ്ലോക്കിന് മറ്റ് ത്രെഡുകളെ പങ്കിട്ട അവസ്ഥയുടെ മാറ്റങ്ങളിൽ നിന്ന് വേർതിരിക്കാനാവില്ല.
ദാതാവ് സ്റ്റാറ്റിക് എൻഡ്പോയിന്റ് വാഗ്ദാനം ചെയ്തേക്കാം, പക്ഷേ അത് സേവന സവിശേഷതയാണ്, SOCKS-ന്റെ പൊതു ആവശ്യകതയല്ല. വേറെ കണക്ഷനുകൾക്ക് വ്യത്യസ്ത എക്സിറ്റുകൾ ഉപയോഗിക്കാവുന്നിടത്ത്, FTP സർവർ തന്റെ ഡാറ്റ കണക്ഷനെ പ്രാമാണീകരിച്ച കൺട്രോൾ കണക്ഷനുമായി എങ്ങനെ ബന്ധിപ്പിക്കുന്നു എന്ന് പരിശോധിക്കുക.
എത്തിയ ഘട്ടം, മോഡ്, ഡാറ്റ എൻഡ്പോയിന്റ് എന്നിവ ക്രെഡൻഷ്യലുകൾ നീക്കി രേഖപ്പെടുത്തുക. ഇത് തടയപ്പെട്ട ഡാറ്റ പാതയെ പ്രോക്സി ലോഗിൻ പരാജയത്തിൽ നിന്ന് വേർതിരിക്കുന്നു.