我在Windows 10上使用PHP和curl设置了IIS和Apache Web Server。以下代码工作正常。
<?php
$url = "http://domain.com";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //Timeout after 30 seconds
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //Get status code
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
当我添加身份验证时,它不起作用。
<?php
$username = "username";
$password = "password";
$url = "https://domain.com/api/v2/orders/count";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //Timeout after 30 seconds
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //Get status code
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
当我在GoDaddy服务器上运行时,此代码工作正常。
代码位于http://localhost/test.php
我有PHP NTS 7.0.13和cURL 7.51.0
IIS设置为FastCGI
答案 0 :(得分:0)
未设置CA认证。
注意:这也可以通过添加curl_setopt($ ch,CURLOPT_SSL_VERIFYPEER,FALSE)来绕过