SOCKS દ્વારા Ruby Net::FTP: લોગિન કામ કરે છે, ડાઉનલોડ અટકી જાય છે
Ruby FTP ના કંટ્રોલ અને ડેટા કનેક્શનને એ જ ઇચ્છિત પ્રોક્સી માર્ગે ટ્રેસ કરો.
FTP લોગિન કંટ્રોલ કનેક્શન વાપરે છે. પછી ડિરેક્ટરી લિસ્ટિંગ કે ડાઉનલોડને ડેટા કનેક્શનની જરૂર પડે છે, જે SOCKS દ્વારા લોગિન સફળ થયું હોવા છતાં નિષ્ફળ જઈ શકે છે.
પહેલાં પેસિવ કે એક્ટિવ મોડ નક્કી કરો. પેસિવ મોડમાં ક્લાયન્ટ FTP સર્વર આપેલા સરનામા અને પોર્ટ પર નવું કનેક્શન ખોલે છે. તે કનેક્શનને પણ ઇચ્છિત પ્રોક્સી માર્ગની જરૂર પડે છે.
Ruby સોકેટ એકીકરણ
Ruby નું Net::FTP API તેના કનેક્શન અને પેસિવ-મોડ વર્તનનું દસ્તાવેજીકરણ કરે છે. SOCKS એકીકરણે કંટ્રોલ અને ડેટા બંને માર્ગો વાપરતી સોકેટ રચના આવરી લેવી જોઈએ; બીજે ક્યાંય HTTP ક્લાયન્ટનું પ્રોક્સી સેટિંગ તેમને ગોઠવતું નથી.
જો એકીકરણ સોકેટ વર્તનને વૈશ્વિક રીતે બદલે છે, તો તેની સમવર્તીતાની વ્યાપ્તિ સમીક્ષા કરો. એક ટ્રાન્સફર ફરતેનો બ્લોક અન્ય થ્રેડને શેર કરેલી સ્થિતિના ફેરફારોથી અલગ કરી શકતો નથી.
પ્રદાતા સ્થિર એન્ડપોઇન્ટ આપી શકે છે, પણ તે સેવા લક્ષણ છે, SOCKS ની સામાન્ય આવશ્યકતા નથી. જ્યાં અલગ કનેક્શન જુદા જુદા એક્ઝિટ વાપરી શકે, ત્યાં FTP સર્વર તેના ડેટા કનેક્શનને પ્રમાણિત કંટ્રોલ કનેક્શન સાથે કેવી રીતે જોડે છે તે તપાસો.
પહોંચેલું સ્ટેજ, મોડ અને ડેટા એન્ડપોઇન્ટ નોંધો, ક્રેડેન્શિયલ દૂર કરીને. આ અવરોધિત ડેટા માર્ગને પ્રોક્સી લોગિન નિષ્ફળતાથી અલગ પાડે છે.