Ich benutze Guzzle v3.9.2 mit php 5.3 und php 5.5.Moving Curl Client ssl zu Guzzle
Ich habe die folgenden Arbeits curl Code, der eine SSL-Client-Zertifikat verwendet:
$url = "https://example.com/";
$cert_file = '/path/to/certificate.pem';
$ch = curl_init();
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_URL => $url ,
CURLOPT_SSLCERT => $cert_file ,
);
curl_setopt_array($ch , $options);
$output = curl_exec($ch);
if (!$output) {
echo "Curl Error : " . curl_error($ch);
}
else {
echo htmlentities($output);
}
Ich habe versucht, es zu bewegen, um Guzzle:
require '/var/www/vendor/autoload.php';
use Guzzle\Http\Client;
$client = new Client();
$request = $client->get($url, array('cert' => $cert_file));
$response = $client->send($request);
echo $response . PHP_EOL;
print 'HI' . PHP_EOL;
Wenn ich es curl mit betreibe ich eine bekommen 200 Antwort. Als ich Guzzle verwenden erhalte ich eine 403.
'cert' Option nur mit Client-Zertifikat arbeiten. Wenn Sie ein privates Zertifikat verwenden, können Sie mit curl keinen privaten Schlüsseldateifehler festlegen. Bitte beziehen Sie sich auf meine Antwort unter –