Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
de_Cutter
Зарегистрирован: 23.03.2003 Сообщения: 15 Откуда: Москва
|
Добавлено: Вс Мар 23 2003 00:28 Заголовок сообщения: Требуется описание HTTP-протокола |
|
|
Люди, помогите кто может, буду ОЧЕНЬ благодарен! помогите найти описание HTTP протокола! меня интересует любая информация, которая может мне помочь. Я пытаюсь послать запрос из PHP-скрипта на открытие странички с указанием параметров. Но апач того сервера говорит что запрошенный мною документ найден по тому адресу который я как раз запрашиваю. С моим апачем всё нормально работает (( Я подозреваю что строка запроса неверная. Подскажите что угодно, ещё раз говорю буду благодарен за любую помощь! |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://prof Гость
|
Добавлено: Вс Мар 23 2003 00:52 Заголовок сообщения: А адрес того сайта не судьба дать? Варианты: |
|
|
1) Протокол HTTP/1.1 требует давать доменное имя сайта.
2) Возможно, используется перекодировка по портам и автоматическое перенаправление.
PS: Сообщи сюда, что ты сказал сереру и что он ответил. Не пиши своими словами - ты все равно в этом ничего не понимаешь, вот и получается совершенно непонятно. А описание протоколов - можешь начать с http://www.citforum.ru/. |
|
Вернуться к началу |
|
|
de_Cutter
Зарегистрирован: 23.03.2003 Сообщения: 15 Откуда: Москва
|
Добавлено: Вс Мар 23 2003 13:47 Заголовок сообщения: Re: А адрес того сайта не судьба дать? Варианты: |
|
|
я пишу: if (!$fp) {
echo "$errstr ($errno)\n";
} else {
fputs ($fp, "GET /zayavka.pl?logs=21_03_03&filter=deCutter HTTP/1.1\r\nAccept: */*\r\nAccept-Language: ru\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)\r\nHost: 192.168.45.46:8000\r\nConnection: Keep-Alive\r\n");
fputs ($fp, "");
fputs ($fp, "\r\n"); читаю их ответ: while (!feof($fp)) {
$s=fgets ($fp,128);
echo "$s";
} Мне выдают: //http://angelscity.combats.ru/zayavka.pl?logs=21_0 3_03&filter=deCutterHTTP/1.1 302 Moved Temporarily Server: 0W/0.6c Date: Sun, 23 Mar 2003 10:44:32 GMT Content-Type: text/html; charset=iso-8859-1 Location: http://suncity.combats.ru/zayavka.pl?logs=21_03_03&filter=de Cutter Content-Length: 322 Found The document has moved here.//"here" это ссылка на http://suncity.combats.ru/zayavka.pl?logs=21_03_03&filter=de Cutter
------------------------------------------------ --------------------------------
Apache/1.3.23 Server at 192.168.45.46 Port 8080 |
|
Вернуться к началу |
|
|
de_Cutter
Зарегистрирован: 23.03.2003 Сообщения: 15 Откуда: Москва
|
Добавлено: Вс Мар 23 2003 13:48 Заголовок сообщения: Забыл начало функции :-) |
|
|
Вот полный текст начала той функции чтения function get_file(){//start of get_file function $fp = fsockopen ("217.106.235.236", 80, $errno, $errstr, 3000);
if (!$fp) {
echo "$errstr ($errno)\n";
} else {
fputs ($fp, "GET /zayavka.pl?logs=21_03_03&filter=deCutter HTTP/1.1\r\nAccept: */*\r\nAccept-Language: ru\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)\r\nHost: 192.168.45.46:8000\r\nConnection: Keep-Alive\r\n");
fputs ($fp, "");
fputs ($fp, "\r\n"); |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://prof Гость
|
Добавлено: Вс Мар 23 2003 14:35 Заголовок сообщения: Ты мой ответ внимательно читал? Как раз проблема с отсутствием имени хоста в запросе GET ... HTTP/1.1 |
|
|
Ты делаешь fputs ($fp, "GET /zayavka.pl?logs=21_03_03&filter=deCutter HTTP/1.1\r\nAccept: */*\r\nAccept-Language: ru\r\n
А надо типа fputs ($fp, "GET http://sunscity.combats.ru/zayavka.pl?logs=21_03_03&filter=d eCutter HTTP/1.1\r\nAccept: */*\r\nAccept-Language: ru\r\n или fputs ($fp, "GET sunscity.combats.ru/zayavka.pl?logs=21_03_03&filter=deCutter HTTP/1.1\r\nAccept: */*\r\nAccept-Language: ru\r\n |
|
Вернуться к началу |
|
|
de_Cutter
Зарегистрирован: 23.03.2003 Сообщения: 15 Откуда: Москва
|
Добавлено: Вс Мар 23 2003 18:36 Заголовок сообщения: Re: А адрес того сайта не судьба дать? Варианты: |
|
|
В ответ вот на это: function get_file(){//start of get_file function $fp = fsockopen ("217.106.235.236", 80, $errno, $errstr, 3000); if (!$fp) { echo "$errstr ($errno)\n"; } else { fputs ($fp, "GET http://suncity.combats.ru/zayavka.pl?logs=21_03_03&filter=de Cutter HTTP/1.1\r\nAccept: */*\r\nAccept-Language: ru\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)\r\nHost: 192.168.45.46:8000\r\nConnection: Keep-Alive\r\n"); fputs ($fp, ""); fputs ($fp, "\r\n"); while (!feof($fp)) { $s=fgets ($fp,128); echo "$s"; } fclose ($fp); } Получаю следующее: //http://angelscity.combats.ru/zayavka.pl?logs=2 1_03_03&filter=deCutterHTTP/1.1 200 OK Server: 0W/0.6c Date: Sun, 23 Mar 2003 15:33:52 GMT Content-Type: text/html; charset=windows-1251 Content-Length: 1057 content-encoding: gzip cache-control: no-cache x-pad: avoid browser bug ‹V[oâF~ϯ˜zÕÐJ€ $m“0^pÊJ D”>ìSe̬ ¶×È’¿ÔŸÐ§n+õ©ŠZµ 39;,Å„¹¤Û´ m:ccYR´±ÀÌåœó}ç2gHç ;+…§b:/K9q+5ýXC›t0²@:&‚A/¯Ú 6:†¯ñMEÓãl‰*6Q€jèéd! 0; M|Ô†bÙˆÀSM¯§v,‘ÜMP„˜1 244;¼¥µa6PŠ1j¨ W$gÛr°¨ cB–ÁBêFLe!òŠ½£²& #244;yAZr)–bY)›—7˜–_˜š…ì¥Q 02;ð‹@TZ`tLšŠU×t¸ ˆa.ÇÁàT«‘ÆrÖ@Z½Aè 80;ZW lXðJ"1£‡¥rPô|)J_T€”½Y 25;‚ÅýÂøUkâÇ4ŸP 10;'>I~šL;»´.w„d䀙ç+9‘¾ÊAt·X x—IÝÛËÒg‘žAÜÖ«¶y 206;ˆßzî~šÏˆ¾¶¯$B 165;¥…¬»Ä4-Ų|¹Û"xŒQ›& #189;*¢Õ´ý5NüÑë¹W& #175;—æ¥÷G9ÖÎ6aüâ^¸W Îtà:‚R«·7¡|ïýæõ¼ 01;èúaPXÑš›p¾›\ŽÇ^ï& #129;`ŠaoBùµëÍÜ«÷w†œ` 63;nÃÄ&ŒŸÁåßï– ”L&GŸÍ~Ükÿ‡nÏ™üåŒ 14;½`g |±ö$nùÏ;ö*aW ¢˜|âí€9=‚áù¹lR 8;JHÑÏö±†©—°†²ôÀ#‹¿ 1;§Ý§aùôÑ|=6·ka¢7]Š: ;v§.ðÀÅÒë7à•wó†.€d".¤ 2;‡^©{o :ìýÌ“÷1ÿièô/ÿ iƒoñEVÂ~§¯§ÖÝ8÷hï& #238;Îæ`æ ç²wÁØ™L½Q÷uw¬vHv ... |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://prof Гость
|
Добавлено: Вс Мар 23 2003 19:42 Заголовок сообщения: А чего тебе тут не нравится? Нормальный файл, упакованный программой gzip (ты сам предложил ему упаковать - он согласился) (-) |
|
|
- |
|
Вернуться к началу |
|
|
de_Cutter
Зарегистрирован: 23.03.2003 Сообщения: 15 Откуда: Москва
|
Добавлено: Вс Мар 23 2003 21:34 Заголовок сообщения: Ну мне бы нормальный хтмл-документ |
|
|
Ну вобщем это не совсем я ему предложил я искал помощи на многих сайтах и форумах, на одном мне посоветовали использовать такую строку что я написал. Но я вобщем и хотел весь протокол посмотреть чтобы понять что для чего я так понимаю, Accept-Encoding менять надо? посоветуй что надо написать для получения нормального HTML-документа. |
|
Вернуться к началу |
|
|
de_Cutter
Зарегистрирован: 23.03.2003 Сообщения: 15 Откуда: Москва
|
Добавлено: Вс Мар 23 2003 21:47 Заголовок сообщения: Заработала!=) только теперь проблемы с кодировкой |
|
|
Хех, заработала только вот теперь вопрос - как при генерации страницы браузеру явно задать кодировку нормальную (Cyrillic(windows-1251))? |
|
Вернуться к началу |
|
|
de_Cutter
Зарегистрирован: 23.03.2003 Сообщения: 15 Откуда: Москва
|
Добавлено: Вс Мар 23 2003 21:49 Заголовок сообщения: Re: Ну мне бы нормальный хтмл-документ |
|
|
Да, кстати, вот эти первые строки - до тегов приходят: //http://angelscity.combats.ru/zayavka.pl?logs=21 _03_03&filter=deCutterHTTP/1.1 200 OK Server: 0W/0.6d Date: Sun, 23 Mar 2003 18:43:55 GMT Content-Type: text/html; charset=windows-1251 Content-Length: 20226 Их по-любому обрезать скриптого придется, или же они получаются из-за того что я запрос криво посылаю? |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://prof Гость
|
Добавлено: Вс Мар 23 2003 21:59 Заголовок сообщения: Слушай, а ты Telnet на порт:80 хоть раз делал? |
|
|
Если не указывать "HTTP/1.1", то HTTP-заголовков вообще не будет.
Насчет кодировки - а какую он дает? Я вообще не уверен, что сервер работает корректно... |
|
Вернуться к началу |
|
|
de_Cutter
Зарегистрирован: 23.03.2003 Сообщения: 15 Откуда: Москва
|
Добавлено: Пн Мар 24 2003 01:39 Заголовок сообщения: Re: Слушай, а ты Telnet на порт:80 хоть раз делал? |
|
|
он в первых 5-6 примерно строках перед тегами вроде говорит что windows-1251. Но в тегах этого не прописсывает и IE6.0 и Mozilla 1.0 отображают страничку в Western(ISO-8859-1) Насчет телнета - нет не делал, я даже не знаю что это такое и зачем надо. Ну ладно, допустим с кодировкой я вопрос решу, это не проблема, а скорее загвоздка. Но у меня еще 2 вопроса. 1). Что за телнет - где, как зачем и почему. 2). Не знаешь ли ты где можно поискать значение каждой из строк, посылаемых мною при запросе? соответственно со всеми возможными параметрами. |
|
Вернуться к началу |
|
|
crash
Зарегистрирован: 02.11.2001 Сообщения: 1836 Откуда: Бердск
|
Добавлено: Пн Мар 24 2003 05:50 Заголовок сообщения: Re: Слушай, а ты Telnet на порт:80 хоть раз делал? |
|
|
берешь пуск - выполнить telnet domain.ru 80 и ввод) |
|
Вернуться к началу |
|
|
Роман
Зарегистрирован: 23.05.2003 Сообщения: 72
|
Добавлено: Пн Мар 24 2003 11:51 Заголовок сообщения: Re: Требуется описание HTTP-протокола |
|
|
Ищи и найдешь. Для HTTP/1.0 - RFC1945 Для HTTP/1.1 - RFC2616 |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://prof Гость
|
Добавлено: Пн Мар 24 2003 13:07 Заголовок сообщения: Telnet позволяет отследить все происходящее |
|
|
1) Telnet - это как терминал, только не по модемному соединению, а по TCP-сеессии. Входит в комплект TCP/IP-стека Windows, т.е. устанавливается на машину при добавлении "протоколоа TCP/IP" (хотя реально это два совершенно разных протокола, а еще вместе с ними идут ARP, UDP, ICMP и другие); в Unix он тоже есть, но там другие принципы комплектации.
2) Поиском занимаются поисковые машины - Рамблер, Яндекс, Яху, АльтаВиста, ...; забей ей "Content-Type" в кавычках и смотри результаты поиска. |
|
Вернуться к началу |
|
|
|