FTP deskarga SOCKS bidez PycURL erabiliz
Utzi libcurl-i FTP deskarga baten kontrol- eta datu-konexio pasiboak SOCKS5 proxy baten bidez kudeatzen.
PycURL-k libcurl-en FTP eta SOCKS euskarria transferentzia-kudeatzaile bakar baten bidez eskaintzen du. FTP deskarga pasiboan, aplikazioak kontrol-konexioa eta datu-konexio bereizia inplementazio horri utz ditzake.
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 aplikazioaren FTP baliabidearen URLa da, eta output jada irekitako irteera-fluxu bitarra. Denbora-mugak espero den fitxategi-tamainaren eta konexioaren arabera aukeratzeko adibidezko mugak dira. Bitartekari publikoak onartzen diren FTP baliabide publiko baterako, SOCKS5 proxy zerrendak proxy URLaren hautagaiak eskaintzen ditu; egiaztatu aukeratutako nodoak kontrol- eta datu pasiboko helmuga biak onartzen dituela.
socks5h-k helmugako ostalari-izenaren ebazpena SOCKS proxyari esleitzen dio. NOPROXY berariaz hutsik dago, heredatutako no_proxy ingurune-ezarpen batek transferentzia honen ibilbidea saihes ez dezan.
Utzi FTP aktiboa desgaituta: zerbitzaritik datorren konexio bat espero du eta ez dago erabilgarri proxy modu honetan. Proxyaren irteera-politikak FTP kontrol-portua eta transferentziarako aukeratutako datu-portu pasiboa onartu behar ditu. Beraz, saioa ondo hastea ez da nahikoa fitxategia deskargatu ahal izateko.
Autentifikazioa behar denean, erabili PycURL-en PROXYUSERNAME eta PROXYPASSWORD bitartekariarentzat; FTP zerbitzariaren kredentzialak FTP konexioarenak dira.