PHP cURL ഇല്ലാതെ ഒരു സാധാരണ HTTP അഭ്യർത്ഥനയ്ക്ക്, HTTP സ്ട്രീം റാപ്പറിന് പ്രോക്സി കോൺടെക്സ്റ്റ് നൽകുക:

$context = stream_context_create([
    'http' => [
        'proxy' => 'tcp://203.0.113.10:8080',
        'request_fulluri' => true,
        'timeout' => 10,
    ],
]);
$body = file_get_contents('http://example.com/', false, $context);

ഡോക്യുമെന്റേഷൻ എൻഡ്പോയിന്റ് നിങ്ങളുടെ HTTP പ്രോക്സി ഉപയോഗിച്ചോ HTTP പ്രോക്സി പട്ടികയിലെ സ്ഥാനാർത്ഥി ഉപയോഗിച്ചോ മാറ്റുക. HTTP കോൺടെക്സ്റ്റ് ഇന്റർഫേസ് proxy എന്നതിന് TCP വിലാസം പ്രതീക്ഷിക്കുന്നു. request_fulluri=true മുഴുവൻ ലക്ഷ്യ URI-യും അഭ്യർത്ഥനാ വരിയിൽ ഇടുന്നു, പല ഫോർവേഡ് പ്രോക്സികളും ഇത് ആവശ്യപ്പെടുന്നു. ടൈംഔട്ട് ആ റാപ്പറിന്റെ നിയമങ്ങൾക്കനുസരിച്ച് സ്ട്രീം പ്രവർത്തനം പരിമിതപ്പെടുത്തുന്നു.

ബോഡി പാഴ്സ് ചെയ്യുന്നതിന് മുമ്പ് മടങ്ങിയ മൂല്യവും മുന്നറിയിപ്പും പരിശോധിക്കുക; പരാജയപ്പെട്ട വായനയ്ക്കും ശൂന്യമായ വിജയകരമായ പ്രതികരണത്തിനും വ്യത്യസ്ത കൈകാര്യം ആവശ്യമാണ്. ഈ ഒരു HTTP ലക്ഷ്യവും പരിമിതമായ അഭ്യർത്ഥനയും ഉപയോഗിച്ച് ഡയഗ്നോസിസ് ആരംഭിക്കുക. HTTPS ടണലിംഗും TLS സ്വഭാവവും ചേർക്കുന്നു; അവ യഥാർത്ഥ റാപ്പർ/PHP പതിപ്പിനായി പരിശോധിക്കണം. ഈ ഉദാഹരണം ആ കഴിവുകൾ സ്ഥാപിക്കുന്നില്ല.

ഈ കോളിൽ കോൺടെക്സ്റ്റ് നൽകുന്നത് പാത ദൃശ്യമായി നിർത്തുകയും ബന്ധമില്ലാത്ത URL വായനകൾ മാറ്റുന്നത് ഒഴിവാക്കുകയും ചെയ്യുന്നു. പങ്കിട്ട ഡിഫോൾട്ട് കോൺടെക്സ്റ്റ് ആപ്ലിക്കേഷൻ ബോധപൂർവം ആ നയം ആഗ്രഹിക്കുമ്പോൾ മാത്രമേ അനുയോജ്യമാകൂ; ലൈബ്രറികൾ അതിന്റെ വിശാലമായ പരിധി കണക്കിലെടുക്കണം.

ഇത് PHP സ്ട്രീമുകൾ കോൺഫിഗർ ചെയ്യുന്നു, സ്വതന്ത്രമായി സൃഷ്ടിച്ച cURL ഹാൻഡിൾ അല്ല, ബ്രൗസറോ മറ്റ് പ്രക്രിയയോ അല്ല. ഒരു പാക്കേജ് ഈ കോൺടെക്സ്റ്റ് ഉപയോഗിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നതിന് മുമ്പ് അതിന്റെ യഥാർത്ഥ HTTP ഗതാഗതം തിരിച്ചറിയുക.

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