php curl无法通过https工作

时间:2015-04-26 14:48:56

标签: php ssl curl

我正在尝试使用curl从rest api(https)获取数据。我从http://curl.haxx.se/docs/caextract.html下载了cacert.pem并移动到项目根目录。这是我的代码,但它不起作用。任何人都可以帮助我吗?

db.users.insert({
  forname: 'Joe', 
  surname: 'Bloggs', 
  DOB: 12061989, 
  watch: [5000]
});

db.media_content.insert({
  _id: 5000,
  content_name: 'Film XYZ', 
  durations_min: 45, 
  media_type: 'video',
});

1 个答案:

答案 0 :(得分:2)

有一些问题。如果您打开API网址https://startupgenome.co/api/2/boulder-co,则可以看到证书无效。如果你接受它们就会得到404(嗯,这似乎不对。)。

所以我认为你应该先插入正确的网址。

第二个是。如果证书在服务器端无效,则无法验证主机,如果目标没有有效证书,则cacert.pem无效。

如果您确实想要访问该页面,请禁用检查,但不要忘记在生产模式下启用它。

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);