php curl http digest
php用curl访问有http digest验证的网址时,不能直接加在URL上,例如:
http://user:pass@xxx.xxx.xxx.xxx/index.php?a=1&b=2
这种访问方式给浏览器后,浏览器会将 user:pass 处理后(密码用服务端返回的随机数做hash)放到header里再访问,保证密码不被泄露。
如果用php的curl访问,必须给curl设置如下参数:
curl_setopt($curl, CURLOPT_USERPWD, $user.':'.$pass);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);