我们正在使用php执行curl函数。卷曲执行工作正常并得到结果,但我们必须每天早上做以下步骤:
我们需要先在浏览器中打开特定的网址。
我们需要在curl / php脚本中做些什么来避免上述步骤吗? 这与安全问题有关吗?
下面是我的代码:
$curl = curl_init();
curl_setopt($curl,CURLOPT_HTTPHEADER,array ("Content-Type:application/x-www-form-urlencoded"));
curl_setopt($curl, CURLOPT_POST, 1); // Do a regular HTTP POST
curl_setopt($curl, CURLOPT_POSTFIELDS, 'client_id=' . urlencode($client_id) . '&' .
'client_secret=' . urlencode($client_secret) . '&' .
'grant_type=client_credentials' . '&' .
'scope=openid');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_FAILONERROR, FALSE);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_URL, $token_url);
$response = curl_exec($curl);
答案 0 :(得分:2)
添加此
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); // you already have this
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
CURLOPT_SSL_VERIFYHOST
1检查SSL对等证书中是否存在公用名。 2检查是否存在公用名,并验证它是否与提供的主机名匹配。在生产环境中,此选项的值应保持为2(默认值)。