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 ಸಂಪರ್ಕಕ್ಕೆ ಸೇರಿವೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು