Ho il seguente codice ma restituisce sempre un codice di stato HTTP 407
.Come utilizzare l'autenticazione proxy con Goutte?
$url = 'http://whatismyip.org';
$client = new Client();
$options = array(
'proxy' => array(
'http' => 'tcp://@x.x.x.x:8010',
),
'auth' => array('d80fe9ebasab73d21a4', '', 'basic')
);
$crawler = $client->request('GET', $url, $options);
$status = $client->getResponse()->getStatus();
echo $status; // 407
Sto usando Goutte con Guzzle 6. Ho iniziato cercando di impostare il proxy con setDefaultOption
ma questo metodo è stato deprecato.
mio username e password vuota è sicuramente corretto in quanto funziona con curl
sulla riga di comando:
curl -U d80fe9ebasab73d21a4: -vx x.x.x.x:8010 http://whatismyip.org/
Ho trascorso molte ore su questo e Gradirei qualsiasi aiuto!
Ciò può accadere quando un client tenta di utilizzare HTTP1 anziché HTTP1.1 - curl_setopt ($ curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); Non sai come funziona il client all'interno .. controlla la tua versione arricciata – DannyZB
Difficile dire. Utilizzare Wireshark per ispezionare la richiesta sul livello di rete. Controlla anche di aver abilitato l'estensione cURL nel tuo PHP e Guzzle usa CurlHandler. Perché hai '@' char prima del proxy IP? Puoi anche provare come indirizzo proxy qualcosa come questo 'http: //[email protected]: 8010' e omettere l'opzione' auth'. – kba
@Abs: come hai risolto il problema del proxy. Puoi farmi sapere ? – 06011991