我尝试了我在这里找到的所有东西,但没有任何帮助。 我试图通过HTTPS连接到IIS6.0 * .svc文件。这是我的代码:
$ch = curl_init();
$curl_options = array(
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HEADER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_TIMEOUT => 6,
CURLOPT_URL => $url
);
if(isset($options['login'])){
$options[CURLOPT_HTTPAUTH] = CURLAUTH_NTLM;
$options[CURLOPT_UNRESTRICTED_AUTH] = true;
$options[CURLOPT_USERPWD] = $login;
}
if(isset($options['params'])){
array_walk($options['params'], 'curl_escape', $ch);
$curl_options[CURLOPT_POST] = true;
$curl_options[CURLOPT_POSTFIELDS] = $options['params'];
}
curl_setopt_array($ch, $curl_options);
$content = curl_exec($ch);
curl_close($ch);
我唯一得到的是401.2错误,说服务器不喜欢我的身份验证方法。
我也尝试了$options[CURLOPT_HTTPAUTH] = CURLAUTH_ANY;
,但这也没有用。
使用user:pw
正确格式化凭据,并且100%正确。
问题是:使用浏览器访问页面没问题,并给我正确的xml输出。
任何想法?
答案 0 :(得分:0)
请尝试使用https:
curl_setopt($ ch,CURLOPT_SSL_VERIFYHOST,true);
使用CURLOPT_USERPWD时,请确保您的$ login的值为username:password format。
使用CURLAUTH_BASIC代替CURLAUTH_NTLM