ទាញយក URL HTTP តាមរយៈប្រូកស៊ីដោយ PHP file_get_contents
កំណត់រចនាសម្ព័ន្ធ wrapper ស្ទ្រីម HTTP របស់ PHP សម្រាប់ប្រូកស៊ីបញ្ជូនបន្ត រួមទាំងទម្រង់សំណើ និងដែនកំណត់នៃបរិបទស្ទ្រីម។
សម្រាប់សំណើ HTTP ធម្មតាដោយគ្មាន PHP cURL សូមបញ្ជូនបរិបទប្រូកស៊ីទៅ wrapper ស្ទ្រីម 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 រំពឹងអាសយដ្ឋាន TCP សម្រាប់ proxy។ request_fulluri=trueដាក់ URI គោលដៅពេញលេញក្នុងបន្ទាត់សំណើ ដូចដែលប្រូកស៊ីបញ្ជូនបន្តជាច្រើនត្រូវការ។ ពេលវេលាកំណត់កំណត់ប្រតិបត្តិការស្ទ្រីមក្រោមច្បាប់របស់ wrapper នោះ។
ពិនិត្យតម្លៃដែលបានត្រឡប់ និងការព្រមាន មុនពេលញែកតួ។ ការអានដែលបរាជ័យ និងការឆ្លើយតបទទេដែលជោគជ័យ ត្រូវការការដោះស្រាយខុសៗគ្នា។ ចាប់ផ្តើមវិភាគជាមួយគោលដៅ HTTP តែមួយនេះ និងសំណើដែលមានដែនកំណត់។ HTTPS បន្ថែមការផ្លូវរូងក្រោមដី និងឥរិយាបទ TLS ដែលត្រូវពិនិត្យសម្រាប់ wrapper/PHP ជំនាន់ពិត។ ឧទាហរណ៍នេះមិនបញ្ជាក់សមត្ថភាពទាំងនោះទេ។
ការបញ្ជូនបរិបទនៅការហៅនេះ ធ្វើឲ្យផ្លូវមើលឃើញ និងជៀសវាងការផ្លាស់ប្តូរការអាន URL ដែលមិនពាក់ព័ន្ធ។ បរិបទលំនាំដើមដែលចែករំលែក សមរម្យតែពេលកម្មវិធីចង់បានគោលនយោបាយនោះដោយចេតនា។ បណ្ណាល័យគួរគិតដល់វិសាលភាពធំជាងរបស់វា។
នេះកំណត់រចនាសម្ព័ន្ធស្ទ្រីម PHP មិនមែន handle cURL ដែលបង្កើតដោយឯករាជ្យ ទេ ក៏មិនមែន browser ឬដំណើរការផ្សេងទេ។ កំណត់ការដឹកជញ្ជូន HTTP ពិតរបស់កញ្ចប់ មុនពេលរំពឹងថាវានឹងប្រើបរិបទនេះ។