Legen Sie den proxy Saufen
Ich habe ein problem mit proxy im saufen, dass eine leere Seite angezeigt wurde, während mit curl funktioniert alles perfekt. Der code, den ich in saufen und locken kam Sie unten.
Was ist falsch an diesem code:
Saufen:
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
require_once "vendor/autoload.php";
try {
$client = new Client();
$request = new \GuzzleHttp\Psr7\Request('GET', 'http://httpbin.org');
$response = $client->send($request, [
'timeout' => 30,
'curl' => [
'CURLOPT_PROXY' => '*.*.*.*',
'CURLOPT_PROXYPORT' => *,
'CURLOPT_PROXYUSERPWD' => '*:*',
],
]);
echo '</pre>';
echo($response->getBody());
exit;
} catch (RequestException $e) {
echo $e->getRequest();
if ($e->hasResponse()) {
echo $e->getResponse();
}
}
Ist und Der code mit CURL:
$url = 'http://httpbin.org';
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($ch, CURLOPT_PROXY, '*.*.*.*');
curl_setopt($ch, CURLOPT_PROXYPORT, *);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, '*:*');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$page = curl_exec($ch);
echo $page;
Dank.
InformationsquelleAutor mohammad shafiee | 2015-09-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als für Saufen, 6.
Saufen docs geben info über die Einstellung Proxyserver für eine einzelne Anfrage
Aber man kann Sie auf alle Anfragen, die beim initialisieren client
UPD. Ich weiß nicht, warum, aber ich sehe ein seltsames Verhalten. Ein server mit saufen version 6.2.2 funktioniert Super mit der config wie oben, und das andere mit der gleichen version erhält
400 Bad Request
HTTP-Fehler von einem proxy. Es wird gelöst mit einer anderen config-Struktur (gefunden in docs für saufen 3)InformationsquelleAutor shukshin.ivan
Hatte das gleiche problem jetzt , und alles, was ich tun musste, war die Verwendung von curl array-keys als Konstanten statt des strings ..
Sehen CURL-Optionen-Tasten , Sie sind keine strings mehr.
InformationsquelleAutor Golu
Das Verfahren für psr-7 können unterschiedlich sein, aber wenn Sie
der standard-Weg zum instanzieren eines client,
path\to\project\vendor\guzzlehttp\guzzle\src\Client.php Linien 164-170 enthält den code zum Lesen der Umgebungsvariablen, um zu sehen, wenn HTTP_PROXY und HTTPS_PROXY sind auf der aktuellen Maschine, und wenn ja, Saufen wird, die diese Werte verwenden.
Außerdem hatte ich mein HTTPS_PROXY = http://ip:port (nicht https), weil unser Arbeitsplatz proxy scheint zu behandeln, sowohl http-und https-Anfragen über das http-Protokoll.
Der Vorteil dieser Konfiguration ist, dass Sie nicht haben, um chnge proxy-Einstellungen in Ihrem source-code.
InformationsquelleAutor Isuru Walpola
Proxy/https im Saufen und SSL seine Arbeit perfekt.
InformationsquelleAutor Shaktik
Für Guzzle6, ich denke, der beste Weg ist die Implementierung einer middleware zur Konfiguration der proxy.
Vom Guzzle6 docs:
Können wir einen proxy wie folgt:
InformationsquelleAutor ResRelentelss
für einen proxy, wenn Sie den Benutzernamen und das Passwort, die Sie verwenden können:
dieser arbeitete mit saufen in php.
InformationsquelleAutor Diego Santa Cruz Mendezú