Guzzle ඉල්ලීමකට ප්රොක්සි IP සකසන්න
Guzzle එක් එක් ඉල්ලීමේ proxy විකල්පය, handler මත රඳන සම්බන්ධතා කාල සීමාව හා පැහැදිලි bypass ලැයිස්තුව තේරුම් ගන්න.
Guzzle හි proxy විකල්පය සම්පූර්ණ අන්ත ලක්ෂ්ය URL පිළිගනී. ඒ ක්රියාව පමණක් තෝරාගත් IP භාවිත කළ යුතු විට එය ඉල්ලීමේ සකසන්න.
<?php
require __DIR__ . '/vendor/autoload.php';
$client = new GuzzleHttp\Client();
$response = $client->request('GET', 'https://example.com/', [
'proxy' => 'http://203.0.113.10:8080',
'connect_timeout' => 5,
'timeout' => 15,
'http_errors' => false,
]);
echo $response->getStatusCode(), PHP_EOL;
echo (string) $response->getBody();
උදාහරණය Composer මඟින් Guzzle 7 ස්ථාපිත බව උපකල්පනය කරයි. ලේඛන ලිපිනය සපයන්නාගෙන් හෝ HTTP ප්රොක්සි ලැයිස්තුවෙන් සැබෑ HTTP ප්රොක්සියකින් මාරු කරන්න. ගමනාන්තය ඉල්ලීම් URL හි තබන්න: ප්රොක්සිය අතරමැදියෙකි, බාගත කරන සම්පත නොවේ.
මෙහි http_errors false බැවින් HTTP දෝෂ පිළිතුර පරීක්ෂාවට පවතී. සම්බන්ධතා අසාර්ථකතා තවමත් හුවමාරු ව්යතිරේක නිකුත් කරයි. එබැවින් පිහිටුවන අතර ප්රතික්ෂේප වූ HTTPS උමඟ සාමාන්ය වෙබ් අඩවි ප්රතිචාර වස්තුව ලැබීමට පෙර අසාර්ථක විය හැකිය.
සම්බන්ධතා සීමා වෙනස්ව ක්රියා කළහොත් handler පරීක්ෂා කරන්න
Guzzle විවිධ HTTP handlers භාවිත කළ හැකිය. ලේඛන අනුව ඇතුළත් cURL handler connect_timeout සඳහා සහාය දෙයි. අභිරුචි handler හෝ PHP cURL රහිත පරිසරය අනිවාර්යයෙන්ම සමාන නොවේ. පිටපත් කළ timeout විකල්පය ක්රියා කරයි සිතීමට පෙර යෙදුමේ handler බලන්න.
සමස්ත timeout සැකසීමත් වටී. නොමිලේ ලැයිස්තුවේ සටහන් පරීක්ෂා අතර පිළිතුරු නැවැත්විය හැකිය; ඉක්මනින් නිම විය යුතු ඉල්ලීමකට පෙරනිමි අගය ප්රයෝජනවත් අවසන් කාලයක් නොවේ.
ප්රොක්සි සිතියමක් භාවිත කිරීම
සිතියම ගමනාන්ත scheme අනුව මාර්ග තෝරා bypass ධාරකයන් පැහැදිලිව ලබාදීමට ඉඩ දෙයි:
'proxy' => [
'http' => 'http://203.0.113.10:8080',
'https' => 'http://203.0.113.10:8080',
'no' => [],
],
පෙළ විකල්පය වෙනුවට මේ අරාව භාවිත කරන්න. HTTPS යතුර HTTPS ගමනාන්ත තෝරන අතර HTTP අගය තවමත් ප්රොක්සි සවන්දෙන්නා විස්තර කරයි. වෙනස් listener ප්රොටෝකෝලයකට වෙනස් අන්ත ලක්ෂ්ය වින්යාසයක් අවශ්යය.
ඉල්ලීමේ proxy විකල්පය ඔබම දෙන විට Guzzle අවශ්ය no අගයන්ද ඔබෙන් බලාපොරොත්තු වෙයි; NO_PROXY වෙතින් ස්වයංක්රීයව පිටපත් නොකරයි. හිස් ලැයිස්තුව වෙන්කළ ප්රොක්සි පරීක්ෂාවකට ප්රයෝජනවත්ය. යෙදුමේ හිතාමතා bypass නීති තිබේ නම් පැහැදිලිව තබාගන්න.