تقنية

set_pasv في بايثون: هل يفتح اتصال البيانات فورًا؟

حالة الخيار بعد تعطيله وتفعيله
في مثالنا. [1] [2]

نفحص تبديل خيار في كائن FTP محلي. [1] [2]

الخلاصة السريعة

لا؛ يضبط الخيار دون بدء نقل هنا. [1] [2]

  • الوضع السلبي مفعل افتراضيًا. [1] [2]
  • set_pasv(False) يعطله؛ set_pasv(True) يفعله. [1] [2]
  • المخرجات False ثم True ثم True. [1] [2]
  • passiveserver حالة داخلية فحصناها في التنفيذ المراجع. [1] [2]
  • بدء اتصال البيانات عمل transfercmd؛ لم نستدعها. [1] [2]
  • اختبرنا 3.12.14 دون خادم أو نقل ملف. [1] [2]

المثال

from ftplib import FTP
f=FTP()
f.set_pasv(False)
print(f.passiveserver)
f.set_pasv(True)
print(f.passiveserver)
print(f.sock is None)
f.close()

[1] [2]

الأولان حالة الخيار؛ الثالث يفحص بقاء sock بقيمة None. [1] [2]

اختيار الوضع وبدء النقل

الخيار يحدد أسلوب اتصال البيانات عند بدء النقل. لا يرسل set_pasv أمر PASV أو EPSV بمجرد ضبطه في التنفيذ المراجع. [1] [2]

لا أمر أو مقبس اتصال في المثال
ضبط محلي. [1] [2]

الحدود

التبديل لا يثبت نجاح اتصال. لم نختبر تسجيل دخول أو نقل ملف أو FTP_TLS أو تخصيص الصنف. [1] [2]

المراجع

  1. Python: ftplib
  2. CPython3.12.14: ftplib
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.