Stilltu proxy-IP fyrir Guzzle-beiðni
Notaðu proxy-valkost Guzzle fyrir hverja beiðni og skildu tengitímamörk sem háð eru meðhöndlara og skýran framhjálalista.
Valkosturinn proxy í Guzzle tekur við fullri endapunkts-URL. Stilltu hann á beiðninni þegar aðeins sú aðgerð á að nota IP-töluna sem þú valdir.
<?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();
Dæmið gerir ráð fyrir Guzzle 7 uppsettu með Composer. Skiptu skýringarvistfanginu út fyrir raunverulegan HTTP-milliþjón frá veitanda eða úr listanum yfir HTTP-milliþjóna. Hafðu áfangastaðinn í beiðni-URL: milliþjónninn er milliliður, ekki tilföngin sem sótt eru.
Hér er http_errors false svo HTTP-villusvar sé áfram tiltækt til skoðunar. Tengivillur kasta enn flutningsundantekningum. HTTPS-göng sem er hafnað við uppsetningu geta því brugðist áður en þú færð venjulegan svarhlut frá vefsíðu.
Athugaðu meðhöndlarann ef tengimörk hegða sér öðruvísi
Guzzle getur notað ólíka HTTP-meðhöndlara. Samkvæmt skjölunum styður innbyggði cURL-meðhöndlarinn connect_timeout. Sérsniðinn meðhöndlari eða umhverfi án PHP cURL er ekki endilega jafngilt. Athugaðu meðhöndlara forritsins áður en þú gerir ráð fyrir að afritaður tímamarkavalkostur virki.
Einnig er gagnlegt að stilla heildar-timeout. Færslur ókeypis lista geta hætt að svara milli athugana og sjálfgefna gildið er ekki gagnlegur lokafrestur fyrir beiðni sem verður að ljúka fljótt.
Notkun proxy-vörpunar
Vörpun leyfir val á leið eftir skema áfangastaðar og skýra tilgreiningu hýsla sem fara fram hjá milliþjóninum:
'proxy' => [
'http' => 'http://203.0.113.10:8080',
'https' => 'http://203.0.113.10:8080',
'no' => [],
],
Notaðu þetta fylki í stað strengvalkostsins. HTTPS-lykillinn velur HTTPS-áfangastaði; HTTP-gildi hans lýsir enn hlustara milliþjónsins. Önnur hlustunarsamskiptaregla krefst annarrar stillingar endapunkts.
Þegar þú gefur proxy-valkost beiðninnar sjálfur gerir Guzzle ráð fyrir að þú gefir tilætluð no-gildi en afriti þau ekki sjálfkrafa úr NO_PROXY. Tómur listi er gagnlegur fyrir einangrað milliþjónspróf. Séu vísvitandi framhjáleiðarreglur í forritinu skaltu varðveita þær sérstaklega.