SOCKS ಮೂಲಕ Ruby Net::FTP: ಲಾಗಿನ್ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಡೌನ್ಲೋಡ್ಗಳು ನಿಂತುಕೊಳ್ಳುತ್ತವೆ
Ruby FTP ನ ನಿಯಂತ್ರಣ ಮತ್ತು ಡೇಟಾ ಸಂಪರ್ಕಗಳನ್ನು ಅದೇ ಉದ್ದೇಶಿತ ಪ್ರಾಕ್ಸಿ ಮಾರ್ಗದಲ್ಲಿ ಟ್ರೇಸ್ ಮಾಡಿ.
FTP ಲಾಗಿನ್ ನಿಯಂತ್ರಣ ಸಂಪರ್ಕವನ್ನು ಬಳಸುತ್ತದೆ. ನಂತರ ಡೈರೆಕ್ಟರಿ ಪಟ್ಟಿ ಅಥವಾ ಡೌನ್ಲೋಡ್ಗೆ ಡೇಟಾ ಸಂಪರ್ಕ ಬೇಕು, ಅದು SOCKS ಮೂಲಕ ಲಾಗಿನ್ ಯಶಸ್ವಿಯಾದರೂ ವಿಫಲವಾಗಬಹುದು.
ಮೊದಲು ಪ್ಯಾಸಿವ್ ಅಥವಾ ಆಕ್ಟಿವ್ ಮೋಡ್ ಅನ್ನು ಗುರುತಿಸಿ. ಪ್ಯಾಸಿವ್ ಮೋಡ್ನಲ್ಲಿ ಕ್ಲೈಂಟ್ FTP ಸರ್ವರ್ ನೀಡಿದ ವಿಳಾಸ ಮತ್ತು ಪೋರ್ಟ್ಗೆ ಹೊಸ ಸಂಪರ್ಕ ತೆರೆಯುತ್ತದೆ. ಆ ಸಂಪರ್ಕಕ್ಕೂ ಉದ್ದೇಶಿತ ಪ್ರಾಕ್ಸಿ ಮಾರ್ಗ ಬೇಕು.
Ruby ಸಾಕೆಟ್ ಏಕೀಕರಣ
Ruby ನ Net::FTP API ಅದರ ಸಂಪರ್ಕ ಮತ್ತು ಪ್ಯಾಸಿವ್-ಮೋಡ್ ವರ್ತನೆಯನ್ನು ದಾಖಲಿಸುತ್ತದೆ. SOCKS ಏಕೀಕರಣವು ನಿಯಂತ್ರಣ ಮತ್ತು ಡೇಟಾ ಎರಡೂ ಮಾರ್ಗಗಳು ಬಳಸುವ ಸಾಕೆಟ್ ರಚನೆಯನ್ನು ಒಳಗೊಳ್ಳಬೇಕು; ಬೇರೆಡೆ HTTP ಕ್ಲೈಂಟ್ನ ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್ ಅವನ್ನು ಸಂರಚಿಸುವುದಿಲ್ಲ.
ಏಕೀಕರಣವು ಸಾಕೆಟ್ ವರ್ತನೆಯನ್ನು ಜಾಗತಿಕವಾಗಿ ಬದಲಿಸಿದರೆ, ಅದರ ಸಮವರ್ತೀಯತೆಯ ವ್ಯಾಪ್ತಿಯನ್ನು ಪರಿಶೀಲಿಸಿ. ಒಂದು ವರ್ಗಾವಣೆಯ ಸುತ್ತಲಿನ ಬ್ಲಾಕ್ ಇತರ ಥ್ರೆಡ್ಗಳನ್ನು ಹಂಚಿದ ಸ್ಥಿತಿಯ ಬದಲಾವಣೆಗಳಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾರದು.
ಪೂರೈಕೆದಾರರು ಸ್ಥಿರ ಎಂಡ್ಪಾಯಿಂಟ್ ನೀಡಬಹುದು, ಆದರೆ ಅದು ಸೇವಾ ವೈಶಿಷ್ಟ್ಯ, SOCKS ನ ಸಾಮಾನ್ಯ ಅಗತ್ಯವಲ್ಲ. ಪ್ರತ್ಯೇಕ ಸಂಪರ್ಕಗಳು ವಿಭಿನ್ನ ಎಕ್ಸಿಟ್ಗಳನ್ನು ಬಳಸಬಹುದಾದಲ್ಲಿ, FTP ಸರ್ವರ್ ತನ್ನ ಡೇಟಾ ಸಂಪರ್ಕವನ್ನು ದೃಢೀಕೃತ ನಿಯಂತ್ರಣ ಸಂಪರ್ಕಕ್ಕೆ ಹೇಗೆ ಜೋಡಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಿ.
ತಲುಪಿದ ಹಂತ, ಮೋಡ್ ಮತ್ತು ಡೇಟಾ ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ರುಜುವಾತುಗಳನ್ನು ತೆಗೆದು ದಾಖಲಿಸಿ. ಇದು ತಡೆಯಲ್ಪಟ್ಟ ಡೇಟಾ ಮಾರ್ಗವನ್ನು ಪ್ರಾಕ್ಸಿ ಲಾಗಿನ್ ವೈಫಲ್ಯದಿಂದ ಪ್ರತ್ಯೇಕಿಸುತ್ತದೆ.