សម្រាប់សំណើ 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 ពិតរបស់កញ្ចប់ មុនពេលរំពឹងថាវានឹងប្រើបរិបទនេះ។

អត្ថបទពាក់ព័ន្ធ