Я пытаюсь получить содержимое страницы SSL ASPX с помощью Curl, вот мой код:PHP Curl Basic авторизации в SSL
$ourFileName = "cookieFIle.txt";
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
fclose($ourFileHandle);
function curl_get($url) {
$ch = curl_init();
$options = array(
CURLOPT_HEADER => 1,
CURLOPT_URL => $url,
CURLOPT_USERPWD => 'XXX:XXX',
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HTTPAUTH => CURLAUTH_ANY,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13',
CURLOPT_HTTPHEADER => $header,
CURLOPT_COOKIESESSION, true,
CURLOPT_COOKIEFILE, "cookieFIle.txt",
CURLOPT_COOKIEJAR, "cookieFIle.txt"
);
curl_setopt_array($ch, $options);
$return = curl_exec($ch);
curl_close($ch);
return $return;
}
echo curl_get('https://somepage.com/intranet/loginprocess.aspx');
И всякий раз, когда я выполняю код я получаю это:
Заголовок :
HTTP/1.1 401 Unauthorized
Content-Length: 1656
Content-Type: text/html
Server: Microsoft-IIS/6.0
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
MicrosoftOfficeWebServer: 5.0_Pub
X-Powered-By: ASP.NET
X-UA-Compatible: IE=EmulateIE8
Date: Sat, 16 Nov 2013 19:05:18 GMT
Сообщение:
You are not authorized to view this page
You do not have permission to view this directory or page using the credentials that you supplied because your Web browser is sending a WWW-Authenticate header field that the Web server is not configured to accept.
Логин и пароль на 100% правильные, и URL-адрес тоже. OpenSSL установлен на RaspverryPI, который я использую, и cURL включен в php.ini
. Loginprocess.aspx перенаправляет вас на studenthome.aspx после завершения авторизации, но я думаю, что проблема заключается в самой авторизации.
Спасибо, сменив curl_httpauth на ntlm. Теперь я получаю сообщения «с истекшим сроком действия» с самого сайта, можете ли вы предложить причину, и если это проблема с кукисами, как я могу ее решить? –
Я выполнил свой ответ. Роботы, использующие аутентификацию, могут стать довольно сложными;) –