PySocks નું એક ડિફોલ્ટ ftplib ને ફરી વાયર કરતું નથી
set_default_proxy Python ના મૂળ socket અમલીકરણને બદલે છે એમ ધારવાને બદલે ftplib ખરેખર જે socket બનાવે છે તેને અનુસરો.
socks.set_default_proxy() ભવિષ્યના PySocks socksocket ઑબ્જેક્ટ માટે ડિફોલ્ટ સંગ્રહિત કરે છે. તે Python ના મૂળ socket વર્ગને બદલતું નથી. પરિણામે, FTP કનેક્શન પહેલાં કૉલ થયો હોવાથી જ તે ftplib ને ફરી માર્ગ આપતું નથી.
પ્રોક્સી URL ધરાવતા ચલને નહીં, કન્સ્ટ્રક્ટર્સને અનુસરો. ftplib નિયંત્રણ કનેક્શન અને વધારાના ટ્રાન્સફર કનેક્શન બનાવે છે. પેસિવ FTP માં, સફળ લોગિન ફક્ત એ સાબિત કરે છે કે નિયંત્રણ કનેક્શન કામ કર્યું; લિસ્ટિંગ કે ફાઇલ ટ્રાન્સફર માટે વપરાતા ડેટા socket ને પણ ઇચ્છિત માર્ગની જરૂર છે.
socket.socket ને બદલતી કે મોડ્યુલને લપેટતી રેસીપી PySocks ડિફોલ્ટ સેટ કરવાથી આગળની બીજી ક્રિયા કરે છે. તે તે મોડ્યુલ વહેંચતી બીજી લાઇબ્રેરીઓને અસર કરી શકે છે. પછી મૂળને અસ્થાયી રૂપે પુનઃસ્થાપિત કરવાથી સમવર્તી કનેક્શનો ફેરફારથી અલગ થતા નથી.
કસ્ટમ ftplib સબક્લાસ કનેક્શન માર્ગોને આવરી શકે છે, પરંતુ નકલ કરેલા આંતરિક ભાગો જે Python આવૃત્તિમાંથી આવ્યા છે તેની ધારણાઓ રાખે છે, જેમાં ટાઇમઆઉટ સેન્ટિનેલ અને પ્રોટોકોલ હેન્ડલિંગનો સમાવેશ થાય છે. સ્ટાન્ડર્ડ લાઇબ્રેરીના અપડેટ નકલને અપડેટ કરતા નથી.
જરૂરી પ્રોક્સી અને FTP મોડ માટે જાળવવામાં આવતું ક્લાયન્ટ કે સમર્થિત ઇન્ટિગ્રેશન પસંદ કરો. PycURL સાથે પેસિવ FTP ડાઉનલોડનું ઉદાહરણ અલગ ક્લાયન્ટ માર્ગ દર્શાવે છે. એપ્લિકેશનની માલિકીના કસ્ટમાઇઝેશન માટે, કયું કન્સ્ટ્રક્ટર દરેક નિયંત્રણ અને ડેટા socket ખોલે છે તે ઓળખો અને તે જે અપસ્ટ્રીમ વર્તન બદલે છે તે જાળવી રાખો. સાચું પ્રોક્સી મૂલ્ય ત્યારે જ ઉપયોગી છે જ્યારે તે કન્સ્ટ્રક્ટર્સ ખરેખર તેનો ઉપયોગ કરે.