PycURL បង្ហាញការគាំទ្រ FTP និង SOCKS របស់ libcurl តាមរយៈ handle ផ្ទេរតែមួយ។ ក្នុងការទាញយក FTP បែប passive កម្មវិធីអាចប្រគល់ទាំងការតភ្ជាប់ត្រួតពិនិត្យ និងការតភ្ជាប់ទិន្នន័យដោយឡែកឱ្យការអនុវត្តនោះ។

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 គឺជា URL ធនធាន FTP របស់កម្មវិធី ហើយ output គឺជាស្ទ្រីមទិន្នផលប៊ីនហ្គារីដែលបើករួចហើយ។ ពេលវេលាកំណត់ គឺជាដែនកំណត់ឧទាហរណ៍ដែលត្រូវជ្រើសតាមទំហំឯកសារ និងការតភ្ជាប់ដែលរំពឹងទុក។ សម្រាប់ធនធាន FTP សាធារណៈដែលអនុញ្ញាតឱ្យមានអន្តរការីសាធារណៈ បញ្ជីប្រូកស៊ី SOCKS5 ផ្តល់បេក្ខជនសម្រាប់ URL ប្រូកស៊ី។ ពិនិត្យថាថ្នាំងដែលបានជ្រើសអនុញ្ញាតទាំងគោលដៅត្រួតពិនិត្យ និងគោលដៅទិន្នន័យ passive។

socks5h ប្រគល់ការដោះស្រាយឈ្មោះម៉ាស៊ីនគោលដៅឱ្យប្រូកស៊ី SOCKS។ NOPROXY ទទេដោយចេតនា ដើម្បីកុំឱ្យការកំណត់បរិស្ថាន no_proxy ដែលទទួលមរតករំលងផ្លូវសម្រាប់ការផ្ទេរនេះ។

ទុក FTP សកម្មឱ្យបិទ៖ វារំពឹងការតភ្ជាប់ចូលពីម៉ាស៊ីនមេ ហើយមិនអាចប្រើបានក្នុងរបៀបប្រូកស៊ីនេះ។ គោលនយោបាយចេញរបស់ប្រូកស៊ីត្រូវអនុញ្ញាតច្រកត្រួតពិនិត្យ FTP និងច្រកទិន្នន័យ passive ដែលបានជ្រើសសម្រាប់ការផ្ទេរ។ ដូច្នេះការចូលដោយជោគជ័យតែម្នាក់ឯងមិនបញ្ជាក់ថាអាចទាញយកឯកសារបានទេ។

នៅពេលត្រូវការផ្ទៀងផ្ទាត់ សូមប្រើ PROXYUSERNAME និង PROXYPASSWORD របស់ PycURL សម្រាប់អន្តរការី។ ព័ត៌មានសម្គាល់ម៉ាស៊ីនមេ FTP ជាកម្មសិទ្ធិរបស់ការតភ្ជាប់ FTP។

អត្ថបទពាក់ព័ន្ធ