У вас уже есть код?Вам необходимо использовать такой код, в частности, CURLOPT_HTTPAUTH
и CURLOPT_USERPWD
.
$username = 'studentid';
$password = 'studentpassword';
$ch = curl_init("http://student.guc.edu.eg/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
$html = curl_exec($ch);
curl_close($ch);
CURLOPT_HTTPAUTH
Методы HTTP-аутентификации для использования.Доступны следующие варианты: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_ANY и CURLAUTH_ANYSAFE.
Побитовая |(или) оператор может использоваться для объединения более чем одного метода.Если это будет сделано, cURL запросит сервер, чтобы узнать, какие методы он поддерживает, и выберет лучший.
CURLAUTH_ANY - псевдоним для CURLAUTH_BASIC |CURLAUTH_DIGEST |CURLAUTH_GSSNEGOTIATE |CURLAUTH_NTLM.
CURLAUTH_ANYSAFE - псевдоним для CURLAUTH_DIGEST |CURLAUTH_GSSNEGOTIATE |CURLAUTH_NTLM.
CURLOPT_USERPWD
Имя пользователя и пароль, отформатированные как «[имя пользователя]: [пароль]» для использования в соединении.
Просмотрзаголовки, возвращаемые с сайта http://student.guc.edu.eg/,, выглядят следующим образом:
> curl -I http://student.guc.edu.eg/
HTTP/1.1 401 Access Denied
Server: Microsoft-IIS/5.0
Date: Thu, 21 Jul 2011 08:18:34 GMT
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="student.guc.edu.eg"
Connection: close
Content-Length: 4431
Content-Type: text/html
Это означает, что вместо использования CURLAUTH_BASIC
следует попробовать CURLAUTH_NTLM
и посмотреть, поможет ли это.