ப்ராக்ஸி வழியாகச் செல்லும் Mechanize HTTPS கோரிக்கையின் பின்னணியில் உள்ள அடுக்குகள்
Mechanize, LWP-இன் HTTPS நெறிமுறை தொகுதி மற்றும் SSL backend ஆகியவை ஒரு HTTPS கோரிக்கையை வழிமாற்றம் செய்ய, சுரங்கம் அமைக்க மற்றும் சரிபார்க்க எவ்வாறு ஒத்துழைக்கின்றன என்பதைப் பாருங்கள்.
பெறுவதற்கு முன் Mechanize பொருளில் பாதையை அமைக்கவும்:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
['http', 'https'],
'http://proxy.example.net:8080',
);
எடுத்துக்காட்டில் நோக்கிய HTTP கேட்பானைப் பயன்படுத்தவும்; அனுமதிக்கப்பட்ட பொது இலக்குகளுக்கான கோரிக்கைகளில் வேட்பாளர்கள் HTTP ப்ராக்ஸி பட்டியலில் உள்ளனர். வரிசை இலக்க திட்டங்களைப் பெயரிடுகிறது. http:// முனை HTTPS-க்கு வழக்கமான CONNECT பாதையை வழங்குகிறது: ப்ராக்ஸிக்கு HTTP, இலக்குக்கு சுரங்கம், பின்னர் இலக்கு TLS. வரிசைப்படுத்தல் அதற்குப் பதிலாக சூழல் அமைப்புகளைப் பயன்படுத்தினால், $mech->env_proxy மாற்றாகும்; அவற்றைப் பின்னர் இறக்குமதி செய்வது குறியீட்டில் ஒதுக்கப்பட்ட பாதையை மாற்றக்கூடும்.
Mechanize தனி HTTPS ப்ராக்ஸி இயந்திரத்தை வழங்குவதற்குப் பதிலாக LWP::UserAgent வலையமைப்பை மரபுரிமையாகப் பெறுகிறது:
- Mechanize இணைப்புகள், படிவங்கள் மற்றும் தற்போதைய பக்க நடத்தையை வழங்குகிறது.
- LWP::UserAgent மற்றும் அதன் HTTP போக்குவரத்து பாதையைத் தேர்ந்தெடுத்து CONNECT-ஐ ஏற்பாடு செய்கின்றன.
- LWP::Protocol::https HTTPS கையாளுதலை வழங்கி இணைப்பை மேம்படுத்துகிறது.
- Net::HTTPS அதன் SSL backend-உடன் TLS திறன் கொண்ட சாக்கெட்டை வழங்குகிறது, நவீன அமைப்புகளில் பொதுவாக IO::Socket::SSL.
நிறுவப்பட்ட SSL backend தானாக ஒரு ப்ராக்ஸியைத் தேர்ந்தெடுக்காது. அசல் HTTPS ஹோஸ்ட்பெயரை URL-இல் வைத்திருங்கள்: CONNECT ஏற்றுக்கொள்ளல் அந்த தளத்தின் சான்றிதழைச் சரிபார்க்காது.
பழைய கூறுகளைப் பராமரிக்கும்போது இந்த எல்லைகளை வேறுபடுத்துங்கள். libwww-perl 6.06 மற்றும் தனியாக விநியோகிக்கப்படும் LWP::Protocol::https 6.06 ஆகியவை சாதாரண HTTP CONNECT-க்கான ஒருங்கிணைந்த திருத்தங்களை அறிமுகப்படுத்தின. UserAgent பதிப்பு மட்டும் HTTPS தொகுதியை அடையாளம் காணாது. LWP::Protocol::https 6.15 TLS இயக்கப்பட்ட ப்ராக்ஸி முனைகளுக்கு ஒரு திருத்தத்தைச் சேர்த்தது, அவற்றின் https:// திட்டம் இலக்கு TLS-க்கு முன் ப்ராக்ஸிக்கு TLS சேர்க்கிறது.
பழைய Net::SSL/Crypt::SSLeay அமைப்புகள் அதற்குப் பதிலாக அந்த backend-இன் ஆவணப்படுத்தப்பட்ட HTTPS_PROXY சூழல் பொறிமுறையைப் பயன்படுத்தலாம். LWP வழிமாற்றத்தை வைத்திருக்கும் நவீன IO::Socket::SSL பாதையில் அதன் செய்முறையைப் பயன்படுத்த வேண்டாம்.
கூறைத் தேர்ந்தெடுக்க முதல் தோல்வியடைந்த நிலையைப் பயன்படுத்துங்கள்: காணாமல் போன HTTPS கையாளி நெறிமுறை தொகுதியைப் பற்றியது; நிராகரிக்கப்பட்ட CONNECT பாதை, சான்றுகள் அல்லது கொள்கையைப் பற்றியது; சுரங்கத்திற்குப் பின் வரும் சான்றிதழ் பிழை இலக்கின் அடையாளம் மற்றும் நம்பிக்கையைப் பற்றியது. அந்த ஆதாரம் ஆதரிக்கும் கூறை மாற்றும்போது சரிபார்ப்பைத் தக்கவைத்துக் கொள்ளுங்கள்.