curl怎么访问https
时间: 2023-11-01 17:51:11 浏览: 121
使用curl访问https有两种方法。
方法一:设定为不验证证书和host。可以使用以下代码示例:
```
$url = 'https://www.example.com';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 这个是重点。
$data = curl_exec($curl);
curl_close($curl);
var_dump($data);
```
方法二:设定一个正确的证书。在使用curl请求https时,需要通过加载证书来进行加密。可以使用以下代码示例:
```
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
// 为保证数据传输的安全性,需要使用以下两行代码进行ssl安全校验。
// 如果在部署过程中代码在此处验证失败,请到 http://curl.haxx.se/ca/cacert.pem 下载新的证书判别文件。
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($curl, CURLOPT_CAINFO, dirname(__FILE__).'/cacert.pem'); // 这是根据下载的证书,添加这句话之后就可以正常运行
curl_setopt($curl, CURLOPT_URL, $url);
$res = curl_exec($curl);
curl_close($curl);
return $res;
```
以上是两种使用curl访问https的方法。具体使用哪种方法取决于你的需求和环境。
阅读全文