Lawrlwytho FTP drwy SOCKS gyda PycURL
Gadewch i libcurl drin cysylltiadau rheoli a data goddefol lawrlwythiad FTP drwy ddirprwy SOCKS5.
Mae PycURL yn datgelu cefnogaeth FTP a SOCKS libcurl drwy un handlen drosglwyddo. Ar gyfer lawrlwytho FTP goddefol, gall y rhaglen adael y cysylltiad rheoli a'r cysylltiad data ar wahân i'r gweithrediad hwnnw.
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 yw URL adnodd FTP y rhaglen, ac output yw ffrwd allbwn deuaidd sydd eisoes ar agor. Terfynau enghreifftiol yw'r terfyn amser, i'w dewis yn ôl maint y ffeil a'r cysylltiad a ddisgwylir. Ar gyfer adnodd FTP cyhoeddus lle caniateir cyfryngwyr cyhoeddus, mae'r rhestr dirprwyon SOCKS5 yn cynnig ymgeiswyr ar gyfer URL y dirprwy; gwiriwch fod y nod a ddewiswyd yn caniatáu'r gyrchfan rheoli a'r gyrchfan data goddefol ill dwy.
Mae socks5h yn dirprwyo datrys enw gwesteiwr y gyrchfan i'r dirprwy SOCKS. Mae NOPROXY yn wag yn fwriadol fel nad yw gosodiad amgylchedd no_proxy a etifeddwyd yn osgoi'r llwybr ar gyfer y trosglwyddiad hwn.
Cadwch FTP gweithredol yn anabl: mae'n disgwyl cysylltiad sy'n dod i mewn o'r gweinydd ac nid yw ar gael yn y modd dirprwy hwn. Rhaid i bolisi allanol y dirprwy ganiatáu porth rheoli FTP a'r porth data goddefol a ddewiswyd ar gyfer y trosglwyddiad. Felly nid yw mewngofnodi llwyddiannus ar ei ben yn profi y gellir lawrlwytho'r ffeil.
Pan fo angen dilysu, defnyddiwch PROXYUSERNAME a PROXYPASSWORD PycURL ar gyfer y cyfryngwr; mae manylion mewngofnodi gweinydd FTP yn perthyn i'r cysylltiad FTP.