PycURL بىلەن SOCKS ئارقىلىق FTP چۈشۈرۈش
libcurl نىڭ FTP چۈشۈرۈشىنىڭ كونترول ۋە پاسسىپ سانلىق ئۇلىنىشىنى SOCKS5 ۋاكالەتچى ئارقىلىق باشقۇرۇشىغا يول قويۇڭ.
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 ئۇلىنىشىغا تەۋە.