Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie die HTTPS-Anforderungsmethode über Curl

So erhalten Sie die HTTPS-Anforderungsmethode über Curl

jacklove
jackloveOriginal
2018-06-09 11:29:526153Durchsuche

Curl, um die HTTPS-Anfragemethode zu erhalten

Ich arbeite heute an einem Projekt und muss Curl verwenden, um die Drittanbieter-API zu erhalten. Die API der anderen Partei ist https.

Ich konnte schon früher HTTP-Anfragen mit Curl erhalten, aber als ich heute https-Anfragen erhielt, erschien die folgende Fehlermeldung: Zertifikatsüberprüfung fehlgeschlagen.

SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

Lösung, bei Curl-Anfrage

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);  // 从证书中检查SSL加密算法是否存在

Curl-https-Anfragecode

<?php
/** curl 获取 https 请求
* @param String $url        请求的url
* @param Array  $data       要發送的數據
* @param Array  $header     请求时发送的header
* @param int    $timeout    超时时间,默认30s
*/
function curl_https($url, $data=array(), $header=array(), $timeout=30){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);  // 从证书中检查SSL加密算法是否存在
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    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_TIMEOUT, $timeout);
    $response = curl_exec($ch);
    if($error=curl_error($ch)){
        die($error);
    }
    curl_close($ch);
    return $response;
}
// 调用
$url = &#39;https://www.example.com/api/message.php&#39;;
$data = array(&#39;name&#39;=>&#39;fdipzone&#39;);
$header = array();
$response = curl_https($url, $data, $header, 5);
echo $response;
?>

In diesem Artikel wird erläutert, wie Sie die HTTPS-Anforderungsmethode über Curl erhalten. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.


Verwandte Empfehlungen:

Ein Beispiel für das Hochladen von Bildern und deren Speicherung in der Datenbank über PHP

Wie über PHP senden Wie man Bilder teilweise über PHP mosaikiert und dabei Streaming-Dateien empfängt

Das obige ist der detaillierte Inhalt vonSo erhalten Sie die HTTPS-Anforderungsmethode über Curl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn