ಪ್ರತಿ ಪ್ರಾಕ್ಸಿ ಸೆಷನ್ಗೂ Ruby Mechanize ಏಜೆಂಟ್ ಇರಿಸಿಕೊಳ್ಳಿ
Ruby Mechanize ಏಜೆಂಟ್ನ ಪ್ರಾಕ್ಸಿಯನ್ನು ಒಮ್ಮೆ ಹೊಂದಿಸಿ, ಸಂಬಂಧಿತ ವಿನಂತಿಗಳಿಗೆ ಮತ್ತೆ ಬಳಸಿ, ಮತ್ತು ಕುಕಿ ಸ್ಥಿತಿ ಹಾಗೂ ನಿರಂತರ ಸಂಪರ್ಕಗಳನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಸೀಮಿತಗೊಳಿಸಿ.
ಕೆಲಸವು HTTP ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಪರಿಶೀಲಿಸುವುದು ಮತ್ತು ಸಾಮಾನ್ಯ ಕೊಂಡಿಗಳನ್ನು ಅನುಸರಿಸುವುದು ಆಗಿದ್ದರೆ, ಪೂರ್ಣ ಬ್ರೌಸರ್ ಯಾವಾಗಲೂ ಅಗತ್ಯವಿಲ್ಲ. Ruby Mechanize ಆ ವಿನಂತಿಗಳನ್ನು ಮಾಡುವ ಏಜೆಂಟ್ನಲ್ಲಿ ಪ್ರಾಕ್ಸಿಯನ್ನು ತೆರೆದಿಡುತ್ತದೆ:
agent = Mechanize.new('office-route')
begin
agent.set_proxy('proxy.example', 8080)
page = agent.get('https://www.example.com/')
puts page.code
ensure
agent.shutdown
endಇದು mechanize ಲೈಬ್ರರಿ ಲೋಡ್ ಆಗಿದೆ ಎಂದು ಊಹಿಸುತ್ತದೆ. ಪ್ರಾಕ್ಸಿ ದೃಢೀಕರಣವಿಲ್ಲದೆ ಅನುಮತಿಸಲಾದ ಸಾರ್ವಜನಿಕ ಪುಟ ಪರಿಶೀಲನೆಗೆ HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ ಉದಾಹರಣೆಗೆ ಸೂಕ್ತವಾದ ಹೋಸ್ಟ್/ಪೋರ್ಟ್ ಮೌಲ್ಯಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. proxy ವಿಧಾನವು endpoint ಗೆ ಅಗತ್ಯವಿದ್ದಾಗ ಬಳಕೆದಾರಹೆಸರು ಮತ್ತು ಗುಪ್ತಪದವನ್ನು ಐಚ್ಛಿಕ ಮೂರನೇ ಮತ್ತು ನಾಲ್ಕನೇ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳಾಗಿ ಸ್ವೀಕರಿಸುತ್ತದೆ.
ಒಂದೇ ಬ್ರೌಸಿಂಗ್ ಸೆಷನ್ಗೆ ಸೇರಿದ ವಿನಂತಿಗಳಿಗೆ ಸಂರಚಿಸಿದ ಏಜೆಂಟ್ ಅನ್ನು ಮತ್ತೆ ಬಳಸಿ. ಅದು ಕುಕಿಗಳು ಮತ್ತು ಇತಿಹಾಸದ ಜೊತೆಗೆ ನೆಟ್ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಹೊತ್ತೊಯ್ಯುತ್ತದೆ. ನಿರ್ಗಮನ ಪ್ರಾಕ್ಸಿ ಬದಲಾಯಿಸುವುದು ತಾನಾಗಿಯೇ ಹೊಸ ಗುರುತನ್ನು ಸೃಷ್ಟಿಸುವುದಿಲ್ಲ ಅಥವಾ ಲಾಗಿನ್ ಕುಕಿಯನ್ನು ಬಿಸಾಡುವುದಿಲ್ಲ.
ಹಲವು ಪ್ರಾಕ್ಸಿ ಸೆಷನ್ಗಳಿಗೆ, ಕೆಲಸ ನಡೆಯುತ್ತಿರುವಾಗ ಒಂದು ಹಂಚಿದ ಏಜೆಂಟ್ ಬದಲಾಯಿಸುವ ಬದಲು ಪ್ರತಿಯೊಂದಕ್ಕೂ ತನ್ನದೇ ಏಜೆಂಟ್ ನೀಡಿ. ಪ್ರತ್ಯೇಕ SSL ಸಂಪರ್ಕಗಳು ಬೇಕಾದಾಗ ಲೈಬ್ರರಿ ಅನನ್ಯ ಸಂಪರ್ಕ ಹೆಸರುಗಳನ್ನೂ ದಾಖಲಿಸುತ್ತದೆ; ಉದಾಹರಣೆಯಲ್ಲಿನ ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಹೆಸರು ಆ ಆಯ್ಕೆಯನ್ನು ಸ್ಪಷ್ಟಗೊಳಿಸುತ್ತದೆ.
ಸಂಬಂಧಿತ URL ಪರಿಶೀಲನೆಗಳನ್ನು ಪ್ರಾಕ್ಸಿ ಪ್ರಕಾರ ಗುಂಪು ಮಾಡುವುದು ಅನಗತ್ಯ ಮರುಸಂರಚನೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಬಹುದು. ಫಲಿತಾಂಶವನ್ನು ಅದನ್ನು ಉತ್ಪಾದಿಸಿದ ಮಾರ್ಗ ಮತ್ತು URL ಗೆ ಜೋಡಿಸಿ ಇರಿಸಿ, ಮರುನಿರ್ದೇಶನಗಳು ಮತ್ತು ದೋಷ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಒಳಗೊಂಡಂತೆ.
Mechanize ಬ್ರೌಸರ್ನ JavaScript ಕಾರ್ಯನಿರ್ವಹಣೆಯನ್ನು ಪುನರುತ್ಪಾದಿಸುವುದಿಲ್ಲ. ಪರೀಕ್ಷಿಸುತ್ತಿರುವ ವರ್ತನೆ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು, ರೆಂಡರಿಂಗ್ ಅಥವಾ ಬ್ರೌಸರ್-ನಿರ್ದಿಷ್ಟ ದೃಢೀಕರಣವನ್ನು ಅವಲಂಬಿಸಿದಾಗ ನಿಜವಾದ ಬ್ರೌಸರ್ ಬಳಸಿ. ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಯಶಸ್ವಿ HTTP ಪಡೆಯುವಿಕೆ ಈ ಏಜೆಂಟ್ ಆ ವಿನಂತಿಯನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಾಯಿತು ಎಂಬ ಸಣ್ಣ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತದೆ.