ich einen Code haben, wenn eine Website SSL-Zertifikat überprüft haben, wie Sie unten sehen können:php-Buchsen keine Verbindung herstellen // ssl: 443
$url = "stackoverflow.com";
$orignal_parse = parse_url($url, PHP_URL_HOST);
$get = stream_context_create(array("ssl" => array("capture_peer_cert" => TRUE)));
$read = stream_socket_client("ssl://".$orignal_parse.":443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $get);
$cert = stream_context_get_params($read);
$certinfo = openssl_x509_parse($cert['options']['ssl']['peer_certificate']);
var_dump($certinfo);
Wenn ich eine URL einfügen, die HTTPS enthält, diesen Code Rückkehr zu mir alle Informationen über das Zertifikat, aber wenn ich eine uRL einfügen, die nicht HTTPS enthalten ich die folgende Fehlermeldung:
Warning: stream_socket_client(): Unable to connect to ssl: //: 443 (No connection could be made because the target machine actively refused it.) In
Wie ich dieses Problem lösen kann?
Dieser Fehler zeigt an, dass der Remote-Server nicht abhört oder blockiert, wenn er mit Port 443 (SSL-Port) verbunden ist. Sie müssen diesen Fehler entsprechend behandeln, und wenn Sie darauf stoßen, wissen Sie, dass die Site SSL nicht unterstützt. – drew010
Nun, in diesem Fall muss ich einen anderen Code haben, um die Antwort dieser Anfrage zu überprüfen, und wenn der Statuscode
200
ist, führe ich meinen Code aus, wenn nicht, führe ich diesen Code nicht aus und vermeide die Warnung ... – Lacrifilm