PycURL የlibcurlን የFTP እና SOCKS ድጋፍ በአንድ የማስተላለፊያ መያዣ ያቀርባል። ለፓሲቭ FTP ማውረድ መተግባሪው የቁጥጥር ግንኙነቱንም ሆነ የተለየውን የዳታ ግንኙነት ለዚያ አተገባበር መተው ይችላል።

import pycurl

transfer = pycurl.Curl()
try:
    transfer.setopt(pycurl.URL, ftp_url)
    transfer.setopt(pycurl.PROXY, "socks5h://proxy.example.net:1080")
    transfer.setopt(pycurl.NOPROXY, "")
    transfer.setopt(pycurl.WRITEDATA, output)
    transfer.setopt(pycurl.CONNECTTIMEOUT, 10)
    transfer.setopt(pycurl.TIMEOUT, 60)
    transfer.perform()
finally:
    transfer.close()

ftp_url የመተግባሪያው የFTP ምንጭ URL ነው፣ output ደግሞ አስቀድሞ የተከፈተ ሁለትዮሽ የውጤት ፍሰት ነው። የጊዜ ገደቦቹ ከሚጠበቀው የፋይል መጠንና ግንኙነት አንጻር የሚመረጡ የምሳሌ ገደቦች ናቸው። ሕዝባዊ አማካሪዎች በሚፈቀዱበት ሕዝባዊ የFTP ምንጭ የSOCKS5 ፕሮክሲ ዝርዝር ለፕሮክሲው URL እጩዎችን ያቀርባል፤ የተመረጠው አንጸባራቂ የቁጥጥርም ሆነ የፓሲቭ ዳታ መዳረሻዎችን እንደሚፈቅድ ያረጋግጡ።

socks5h የመዳረሻ አስተናጋጅ ስም መፍታትን ለSOCKS ፕሮክሲ ያዝዛል። NOPROXY ሆን ተብሎ ባዶ ነው፤ ስለዚህ የተወረሰ no_proxy የአካባቢ ቅንብር ለዚህ ማስተላለፍ መንገዱን አያልፍም።

ንቁ FTP እንዳይሠራ ይተዉት፦ ከአገልጋዩ የሚመጣ ግንኙነት ይጠብቃል፤ በዚህ የፕሮክሲ ሁነታም አይገኝም። የፕሮክሲው የወጪ ፖሊሲ የFTP ቁጥጥር ወደብንና ለማስተላለፉ የተመረጠውን የፓሲቭ ዳታ ወደብ መፍቀድ አለበት። ስለዚህ መግቢያው ብቻ መሳካቱ ፋይሉ መውረድ እንደሚችል አያረጋግጥም።

ማረጋገጫ ሲያስፈልግ ለአማካሪው PycURL የPROXYUSERNAME እና PROXYPASSWORD ይጠቀሙ፤ የFTP አገልጋይ ምስክርነቶች የFTP ግንኙነቱ ናቸው።

ተዛማጅ ጽሑፎች