Guzzle అభ్యర్థనకు ప్రాక్సీ IP అమర్చండి
Guzzle ప్రతి-అభ్యర్థన proxy ఎంపిక, హ్యాండ్లర్పై ఆధారపడే కనెక్షన్ సమయపరిమితి మరియు స్పష్టమైన బైపాస్ జాబితాను అర్థం చేసుకోండి.
Guzzle యొక్క proxy ఎంపిక పూర్తి అంత్యబిందువు 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 టన్నెల్ సాధారణ సైట్ జవాబు ఆబ్జెక్ట్ పొందకముందే విఫలం కావచ్చు.
కనెక్షన్ పరిమితులు భిన్నంగా పనిచేస్తే హ్యాండ్లర్ చూడండి
Guzzle వేర్వేరు HTTP హ్యాండ్లర్లను వాడవచ్చు. అంతర్నిర్మిత cURL హ్యాండ్లర్ connect_timeoutకు మద్దతిస్తుందని పత్రాలు చెబుతాయి. కస్టమ్ హ్యాండ్లర్ లేదా PHP cURL లేని వాతావరణం తప్పనిసరిగా సమానం కాదు. కాపీ చేసిన సమయపరిమితి పనిచేస్తోందని భావించే ముందు యాప్ హ్యాండ్లర్ను చూడండి.
మొత్తం timeout కూడా అమర్చడం మంచిది. ఉచిత జాబితా నమోదులు తనిఖీల మధ్య జవాబు ఆపవచ్చు; త్వరగా ముగియాల్సిన అభ్యర్థనకు డిఫాల్ట్ విలువ ఉపయోగకరమైన తుది సమయం కాదు.
ప్రాక్సీ మ్యాప్ వాడటం
మ్యాప్ గమ్యం స్కీమ్ ఆధారంగా మార్గం ఎంచుకొని బైపాస్ హోస్ట్లను స్పష్టంగా ఇవ్వనిస్తుంది:
'proxy' => [
'http' => 'http://203.0.113.10:8080',
'https' => 'http://203.0.113.10:8080',
'no' => [],
],
స్ట్రింగ్ ఎంపికకు బదులుగా ఈ అరే వాడండి. HTTPS కీ HTTPS గమ్యాలను ఎంచుకుంటుంది; దాని HTTP విలువ ఇంకా ప్రాక్సీ లిసనర్నే వివరిస్తుంది. వేరే లిసనర్ ప్రోటోకాల్కు వేరే అంత్యబిందువు అమరిక అవసరం.
అభ్యర్థన proxy ఎంపికను మీరే ఇస్తే కావలసిన no విలువలను కూడా ఇవ్వాలని Guzzle ఆశిస్తుంది; NO_PROXY నుంచి తానే కాపీ చేయదు. ఖాళీ జాబితా విడిగా చేసే ప్రాక్సీ పరీక్షకు ఉపయోగం. యాప్లో ఉద్దేశపూర్వక బైపాస్ నియమాలుంటే వాటిని స్పష్టంగా కాపాడండి.