2012-08-23 59 views
0

我正在使用cURL进行DIGEST AUTH,它的工作非常完美。问题是,我需要浏览器在登录页面上保留这些摘要凭据,而不必重新发送用户:所有其他页面。cURL和Digest Auth

例子:

我的login.php的时候,我写我的用户名和密码,我做一个卷曲的请求进行身份验证,服务器以OK回应,所以我重定向到index.php,这就要求要经过身份验证,但它会再次要求输入用户名和密码,但并未将其保留在login.php中。我该如何解决?

+0

你使用'曲奇Jar'? –

回答

1

您需要使用饼干罐为,如:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
/* more cURL options */ 
curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt'); 
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt'); 

$output = curl_exec($ch); 
curl_close($ch); 
+0

仍然不工作,也许我做错了什么,我添加了这些cookie选项,当重定向时,我使用curl进行auth检查,调用http digest auth资源,但没有发送凭证,因为我没有它们了,但每次都会得到401 –

+0

这个cookie文件是可写的吗?你看到该文件中的内容? –

+0

我实际上无法在任何地方找到这个文件 –