Соединяюсь при помощи сокетов с неким сервером. Получаю от него ответ Код (Text): HTTP/1.1 401 Unauthorized Content-type: text/html WWW-Authenticate: Basic realm="FastReport Server" Content-length: 0 Этот ответ отсылается браузеру в виде заголовков. Примитивный код такой Код (Text): $EndHeader = false; while ($out = socket_read ($socket, 2048, PHP_NORMAL_READ)) { if ($EndHeader) {echo $out;} else {Header($out); } $EndHeader = true; } Ожидаю появления диалога авторизации в браузере, но его нет. Заголоки, которые приходят в браузер такие Код (Text): HTTP/1.x 401 Unauthorized Date: Wed, 20 Feb 2008 09:04:27 GMT Server: Apache/2.0.40 (Win32) PHP/4.2.3 Accept-Ranges: bytes X-Powered-By: PHP/4.2.3 Content-Length: 124 Content-Type: text/html; charset=WINDOWS-1251 X-Cache: MISS from server.local.net Proxy-Connection: keep-alive Два вопроса 1. Как заставить браузер показать окно авторизации 2. Что-то не нравится мне код, кодорым я ответ сервера обрабатываю. Как правильно отделить заголовок от контента. Про \n знаю, собственно на этом цикл и построен. но что-то сомнения берут в его правильности
Я конечно посмотрю, что это, но вопрос остался... Почему браузер не показал отправленные ему заголовки, а показал что-то другое
НУ, вот Header($out); если я напишу вместо этого echo $out то и увижу ожидаемый текст. Или я что-то тут недопонимаю???
В первом посте же написано! Код (Text): HTTP/1.1 401 Unauthorized Content-type: text/html WWW-Authenticate: Basic realm="FastReport Server" Content-length: 0 Или может это построчно надо отсылать?
>Один вызов header - один заголовок. Еще более запутал. Имел ввиду Один вызов header -одна строка заголовка?