Нужно посредством PHP скрипта произвести авторизацию на сервере по
HTTP Basic Authorization.
На данный момент нашел только вот что:
<?
//выделяем переменные, просто для удобства;
$login = 'login';
$pass = 'password';
$url = 'url';
$path = '/';
//устанавливаем соединение с сервером;
$sock = @fsockopen($url, 80, $errno, $errstr, 30);
if (!$sock) exit("Не смог соединиться");
$lenght = strlen($data); //длина данных;
$auth = base64_encode("{$user}:{$pass}"); //данные для аутентификации;
$request = <<<request
POST http://{$url} HTTP/1.0
Host:{$url}
Authorization: Basic {$auth}
Content-Type:text/xml
Content-length: {$lenght}
request;
$request .= $data;
$answ = '';
if(fwrite($sock,$request))
while(!feof($sock))
$answ.= fgets($sock);
fclose($sock);
header("Content-type: text/plain");
print($answ);
?>
Он работает не корректно, возвращает мне вот что:
HTTP/1.1 408 Request Time-out
Date: Fri, 13 Dec 2013 22:40:08 GMT
Server: Apache/2.2.16 (Debian)
Vary: Accept-Encoding
Content-Length: 306
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>408 Request Time-out</title>
</head><body>
<h1>Request Time-out</h1>
<p>Server timeout waiting for the HTTP request from the client.</p>
<hr>
<address>Apache/2.2.16 (Debian) Server at servername.ru Port 80</address>
</body></html>
Может кто направит куда пойти, что бы почитать? Или что поправить в скрипте? Уже около часа бьюсь и никак не могу прийти к решению. Или покажите пример скрипта, с комментариями, если вас не затруднит. Заранее спасибо.
P.S: Сильно не бейте за тупые вопросы.