ຕົວເລືອກ proxy ຂອງ Guzzle ຮັບ 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();

ຕົວຢ່າງຖືວ່າຕິດຕັ້ງ Guzzle 7 ຜ່ານ Composer ແລ້ວ. ແທນທີ່ຢູ່ເອກະສານດ້ວຍພຣັອກຊີ HTTP ຈິງຈາກຜູ້ໃຫ້ບໍລິການຫຼືລາຍການພຣັອກຊີ HTTP. ຄົງປາຍທາງໄວ້ໃນ URL ຄຳຮ້ອງຂໍ: ພຣັອກຊີເປັນຕົວກາງ ບໍ່ແມ່ນຊັບພະຍາກອນທີ່ດາວໂຫຼດ.

ທີ່ນີ້ http_errors ເປັນ false ເພື່ອໃຫ້ຍັງກວດຄຳຕອບຂໍ້ຜິດພາດ HTTP ໄດ້. ການເຊື່ອມຕໍ່ລົ້ມເຫຼວຍັງສົ່ງຂໍ້ຍົກເວັ້ນການໂອນ. ດັ່ງນັ້ນອຸໂມງ HTTPS ທີ່ຖືກປະຕິເສດຕອນສ້າງອາດລົ້ມເຫຼວກ່ອນໄດ້ອອບເຈັກຄຳຕອບເວັບໄຊທ໌ຕາມປົກກະຕິ.

ກວດ handler ເມື່ອຂີດຈຳກັດເຊື່ອມຕໍ່ເຮັດວຽກຕ່າງກັນ

Guzzle ໃຊ້ HTTP handler ໄດ້ຫຼາຍແບບ. ເອກະສານບອກວ່າ cURL handler ທີ່ມີໃນຕົວຮອງຮັບ connect_timeout. handler ທີ່ເຮັດເອງຫຼືສະພາບແວດລ້ອມບໍ່ມີ PHP cURL ອາດບໍ່ເທົ່າທຽມ. ກວດ handler ຂອງແອັບກ່ອນຖືວ່າຕົວເລືອກ timeout ທີ່ຄັດລອກມາມີຜົນ.

ຄວນຕັ້ງ timeout ລວມດ້ວຍ. ລາຍການຟຣີອາດຢຸດຕອບລະຫວ່າງການກວດ ແລະຄ່າເລີ່ມຕົ້ນບໍ່ແມ່ນເສັ້ນຕາຍທີ່ເໝາະກັບຄຳຮ້ອງຂໍທີ່ຕ້ອງຈົບໄວ.

ໃຊ້ແຜນທີ່ພຣັອກຊີ

ແຜນທີ່ໃຫ້ເລືອກເສັ້ນທາງຕາມ scheme ຂອງປາຍທາງ ແລະລະບຸໂຮສຕ໌ທີ່ຂ້າມພຣັອກຊີຢ່າງຊັດເຈນ:

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

ໃຊ້ອາເຣນີ້ແທນຕົວເລືອກສະຕຣິງ. ຄີ HTTPS ເລືອກປາຍທາງ HTTPS; ຄ່າ HTTP ຍັງອະທິບາຍຕົວຮັບຟັງຂອງພຣັອກຊີ. ໂປຣໂຕຄອນຮັບຟັງຕ່າງກັນຕ້ອງຕັ້ງຄ່າຈຸດປາຍຕ່າງກັນ.

ເມື່ອໃຫ້ຕົວເລືອກ proxy ຂອງຄຳຮ້ອງຂໍເອງ Guzzle ຄາດໃຫ້ທ່ານໃຫ້ຄ່າ no ທີ່ຕ້ອງການເອງ ບໍ່ໄດ້ຄັດລອກຈາກ NO_PROXY ອັດຕະໂນມັດ. ລາຍການວ່າງມີປະໂຫຍດໃນການທົດສອບພຣັອກຊີແບບແຍກ. ຖ້າແອັບມີກົດຂ້າມທີ່ຕັ້ງໃຈໃຊ້ ໃຫ້ຮັກສາໄວ້ຊັດເຈນ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ