Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Метод POST


Автор: Мартын Яуза 9.3.2003, 18:28
Я проследил с помощью HTTP анализатора как мой браузер передает запрос POST серверу и написал скрипт, который бы имитировал этот запрос. Но в респонсе я получил TIMEOUT ERROR. Это должно быть из-за того, что я не правильно закончил заголовок. Я предоставляю последние строки "моего" заголовка. Подскажите пожалуйста как правильно закончить заголовок метода POST.
Обратите внимание что между Keep-Alive и передачей переменных пустая строка. От чего это? И как надо закончить строку с Keep-Alive? (пустую строку выдал мой HTTP анализатор).

..................................
..................................
..................................
print $socket "Content-Length: 81\n";
print $socket "Connection: Keep-Alive\n";

print $socket "month=jan&nick=qwerty&color=1&Submit=ENTER\n\n";

зарание спасибо.

Автор: Cepera 11.3.2003, 16:43
у меня есть класс (пхп) на создание постов, если интересует - опубликую

Автор: NightGoblin 13.3.2003, 20:25
print $socket "Content-Length: 81\n";
print $socket "Connection: Keep-Alive\n\n"; # <---- Между заголовками и данными - пустая строка по стандарту HTTP - \n 2 раза
print $socket "month=jan&nick=qwerty&color=1&Submit=ENTER\n\n";

а еще лучше создать переменную наподобие $n: $n = "\x0d\x0a", ибо стандарт HTTP также требует, чтобы символами новой строки являлись CR/LF. Для Win/DOS \n - это CR/LF и есть, а вот для UNIX - только LF. Хотя, большинство серверов понимают и просто LF.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)