2017-03-09 1 views
0

Ich mache eine Anwendung, die Postbacks behandelt, und ich wollte es so machen, dass es in der Lage sein würde, auf Domänen mit https:// Postback, selbst wenn die Person, die die App verwendet nicht die openssl PHP-Erweiterung hat. (Es würde sie warnen, dass ihre Postbacks nicht sicher gemacht würden.)Wie stelle ich über file_get_contents() ohne openssl eine Anfrage an über HTTPS, indem ich ssl nicht verifiziere?

Ich habe openssl ausgeschaltet und versuchte folgendes, aber es gibt mir einen Fehler, dass ich https Wrapper nicht habe.

$arrContextOptions=array(
    "ssl"=>array(
     "verify_peer"=>false, 
     "verify_peer_name"=>false, 
    ), 
); 
echo file_get_contents('https://httpbin.org/get?test=test', true, stream_context_create($arrContextOptions)); 

Ist es möglich, diese Anfrage mit file_get_contents zu machen?

+0

möglich duplizieren [file_get_contents(): SSL-Vorgang ist fehlgeschlagen mit Code 1. Und mehr] (http://stackoverflow.com/questions/26148701/file-get-contents-ssl-operation-failed-with-code-1-and-more) –

+0

Ich stieß auf diese Frage zuvor und als Sie können m sehen Der y-Code stimmt direkt mit der akzeptierten Antwort überein. – Alesana

+0

Nein, es entspricht nicht der akzeptierten Antwort, da der zweite Parameter auf 'false' gesetzt wurde, aber in Ihrer Antwort ist' true' –

Antwort

-1

diesen Code Versuchen:

<?php 
$fp = fsockopen("ssl://somedomain/abc/", 2000 , $ErrNo, $ErrString, 30); 
if (!$fp) { 
    echo "Error No : $ErrNo - $ErrString <br />\n"; 
} else { 
    $out = "POST/HTTP/1.1\r\n"; 
    $out .= "Host: somedomain \r\n"; 
    $out .= "Content-Type: application/xml; charset=utf-8;\r\n"; 
    $out .= "Connection: Close\r\n\r\n"; 
    fwrite($fp, $out); 
    while (!feof($fp)) { 
     echo fgets($fp, 128); 
    } 
    fclose($fp); 
} 
?> 

Ich habe Forschung file_get_contents mit --no-Check-Zertifikat

readmore hier file_get_contents ignoring verify_peer=>false?

Verwandte Themen