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 ടണൽ സാധാരണ സൈറ്റ് മറുപടി ഒബ്ജക്റ്റ് ലഭിക്കുന്നതിന് മുമ്പ് പരാജയപ്പെടാം.

കണക്ഷൻ പരിധികൾ വ്യത്യസ്തമായി പ്രവർത്തിച്ചാൽ ഹാൻഡ്‌ലർ പരിശോധിക്കുക

Guzzle-ന് വ്യത്യസ്ത HTTP ഹാൻഡ്‌ലറുകൾ ഉപയോഗിക്കാം. ഉൾപ്പെട്ട cURL ഹാൻഡ്‌ലർ connect_timeout പിന്തുണയ്ക്കുന്നതായി രേഖ പറയുന്നു. കസ്റ്റം ഹാൻഡ്‌ലറോ PHP cURL ഇല്ലാത്ത പരിസരമോ നിർബന്ധമായും തുല്യമല്ല. പകർത്തിയ സമയപരിധി പ്രവർത്തിക്കുന്നു എന്ന് കരുതും മുമ്പ് ആപ്പിന്റെ ഹാൻഡ്‌ലർ പരിശോധിക്കുക.

മൊത്തം timeout സജ്ജമാക്കുന്നതും നല്ലതാണ്. സൗജന്യ പട്ടികയിലെ എൻട്രികൾ പരിശോധനകൾക്കിടയിൽ മറുപടി നിർത്താം; വേഗം അവസാനിക്കേണ്ട അഭ്യർത്ഥനയ്ക്ക് സ്ഥിരസ്ഥിതി മൂല്യം പ്രയോജനമുള്ള അവസാനസമയം അല്ല.

പ്രോക്സി മാപ്പ് ഉപയോഗിക്കൽ

ലക്ഷ്യത്തിന്റെ സ്കീം അനുസരിച്ച് വഴി തിരഞ്ഞെടുക്കാനും ബൈപാസ് ഹോസ്റ്റുകൾ വ്യക്തമായി നൽകാനും മാപ്പ് അനുവദിക്കുന്നു:

'proxy' => [
    'http' => 'http://203.0.113.10:8080',
    'https' => 'http://203.0.113.10:8080',
    'no' => [],
],

സ്ട്രിങ് ഓപ്ഷനു പകരം ഈ അറേ ഉപയോഗിക്കുക. HTTPS കീ HTTPS ലക്ഷ്യങ്ങളെ തിരഞ്ഞെടുക്കുന്നു; അതിന്റെ HTTP മൂല്യം ഇപ്പോഴും പ്രോക്സി ലിസണറെയാണ് വിവരിക്കുന്നത്. വ്യത്യസ്ത ലിസണർ പ്രോട്ടോക്കോളിന് വേറൊരു എൻഡ്‌പോയിന്റ് ക്രമീകരണം വേണം.

അഭ്യർത്ഥനയുടെ proxy ഓപ്ഷൻ നിങ്ങൾ തന്നെ നൽകുമ്പോൾ ആവശ്യമായ no മൂല്യങ്ങളും നൽകുമെന്ന് Guzzle പ്രതീക്ഷിക്കുന്നു; NO_PROXY-ൽനിന്ന് സ്വയം പകർത്തുന്നില്ല. ശൂന്യ പട്ടിക ഒറ്റപ്പെട്ട പ്രോക്സി പരീക്ഷണത്തിന് ഉപകാരമാണ്. ആപ്പിൽ ഉദ്ദേശപൂർവമായ ബൈപാസ് നിയമങ്ങളുണ്ടെങ്കിൽ അവ വ്യക്തമായി നിലനിർത്തുക.

അനുബന്ധ ലേഖനങ്ങൾ