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.

Erthyglau cysylltiedig