PycURL birtir FTP- og SOCKS-stuðning libcurl í gegnum eitt flutningshandfangi. Í passive FTP-niðurhali getur forritið látið bæði stjórntenginguna og aðskildu gagnatenginguna í hendur þeirrar útfærslu.

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 er FTP-viðfangs-URL forritsins, og output er þegar opinn tvíundar úttaksstraumur. Tímamörkin eru dæmigerð mörk sem velja skal eftir væntanlegri skráarstærð og tengingu. Fyrir opinbert FTP-viðfang þar sem opinberir milliliðir eru leyfðir býður SOCKS5-semdarlistinn upp á frambjóðendur fyrir semdar-URL; athugaðu að valinn hnútur leyfi bæði stjórn- og passive gagnaviðtakið.

socks5h felur SOCKS-semdinni að leysa ákvörðunarhýsilnafnið. NOPROXY er viljandi autt svo arfgefin no_proxy-umhverfisstilling fari ekki fram hjá leiðinni fyrir þennan flutning.

Leyfðu virku FTP að vera óvirku: það bíður innkomandi tengingar frá þjóninum og er ekki tiltækt í þessum semdarham. Útleiðarstefna semdarinnar verður að leyfa FTP-stjórnportið og passive gagnaportið sem valið var fyrir flutninginn. Því sannar árangursrík innskráning eitt og sér ekki að hægt sé að hlaða skránni niður.

Þegar auðkenningar er þörf skaltu nota PROXYUSERNAME og PROXYPASSWORD PycURL fyrir milliliðinn; skilríki FTP-þjónsins tilheyra FTP-tengingunni.

Tengdir greinar