PycURL உடன் SOCKS வழியாக FTP பதிவிறக்கம்
libcurl SOCKS5 ப்ராக்ஸி வழியாக FTP பதிவிறக்கத்தின் கட்டுப்பாட்டு மற்றும் செயலற்ற தரவு இணைப்புகளைக் கையாள அனுமதிக்கவும்.
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 இணைப்புக்குரியவை.