2017-10-02 3 views
0

Verwenden Sie den folgenden Code, um eine Anfrage über TLS v1.0 zu senden.curl request durch TLS v1.0

$url = "https://example.com"; 
$input_segment = ""; 

$data = array('InputSegments'=>$input_segment, 'cmdSubmit'=>'Submit'); 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'TLSv1'); 
curl_setopt($ch, CURLOPT_PORT, "443"); 
curl_setopt($ch, CURLOPT_SSLVERSION, 4); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
             'Content-Type: application/x-www-form-urlencoded' 
             )); 
$response = curl_exec($ch); 
$info = curl_getinfo($ch); 
$err_no = curl_errno($ch); 
$err = curl_error($ch); 
curl_close($ch); 
var_dump($response); 

ERROR

Error #:SSL read: error:00000000:lib(0):func(0):reason(0), errno 104

Es sieht aus wie noch SSL. Wie sende ich eine Curl-Anfrage über TLSv1.0 in PHP?

+0

LMGTFY einzustellen: https://github.com/curl/curl/issues/1689 –

+0

versuchen, die Konstante 'CURL_SSLVERSION_TLSv1_0' anstelle von 4 verwendet wird. Setzen Sie außerdem CURLOPT_USE_SSL, um die Verwendung des angeforderten TLS (oder SSL) zu erzwingen, und schlagen Sie andernfalls fehl. – LordNeo

+0

@UnnamataSanatarai: Server-Problem bedeutet von der Seite von Drittanbietern oder etwas, das ich von meiner Seite beheben muss? –

Antwort

0

zu zwingen, TLS 1.0, ich denke, dass es ausreichend ist CURLOPT_SSLVERSION zu CURL_SSLVERSION_TLSv1_0