Никак не могу понять, каким образом Firefox передает данные через POST запросы..
например, есть веб-форма, которая методом POST передает переменную "nick", со значением "user"
Запрос от IE выглядит так:
"POST /chat HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-icq, application/vnd.ms-excel, application/msword, */*
Referer: http://localhost
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: 127.0.0.1
Content-Length: 9
Connection: Keep-Alive
Cache-Control: no-cache
nick=user"
Здесь видно, что в конце находится информация о той самой переменной "nick"
А вот запрос Firefox'а:
"POST /chat HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.10) Gecko/20050717 Firefox/1.0.6
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://localhost/"
Здесь нет ничего о переменной "nick"..
как же тогда передается информация при POST запросе ?
Отсутствует
Абсолютно так же, как и везде. Вы видно что-то упустили.
Код в студию!
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
На форуме
Код простой.. есть сервер.. при поступлении какого либо сообщения от клиента, текст сообщения пишется в лог. С Оперой и Ослом все нормально.. а в конце сообщения от Файрфокса, данных нету..
Вот код формы:
<form method=POST action=http://localhost/chat>
<input type=text name=nick>
<input type=submit value=Вход>
</form>
Отсутствует
LostCodder
<input type=text name=nick>
А где value?
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
На форуме
дык это текстовое поле.. Value вводить надо )
Отсутствует
Только что проверил. Все работает.
Может код "дословно" предоставите?
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
На форуме
хм.. ну хорошо
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
mess : string;
begin
mess := socket.ReceiveText;
memo1.Lines.Add(mess);
end;
Отсутствует
Хм... Сервер на Делфи это конечно круто, но я имел в виду HTML код
Отредактировано Athathoth (03-09-2005 15:22:48)
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
На форуме
Кстати, может эту часть попробовать в цикл оформить
до того момента пока будет выполняться socket.ReceiveText.
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
На форуме
как это? и зачем?
Отсутствует
LostCodder
как это? и зачем?
Как - это надо у вас спросить Я на делфи не пишу. (Писал на Билдере и то давно. Под винду перешел на чистый winAPI пару лет назад) Ну надо посмотреть что возвращает функция в случае окончания приема, и в цикле проверять на это значение, пока оно не попадется. А до этого времени : mess += socket.ReceiveText;
А вот зачем - затем, что метод ReceiveText может вернуть не полное содержание буфера.
Отредактировано Athathoth (03-09-2005 16:40:37)
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
На форуме
А вот зачем - затем, что метод ReceiveText может вернуть не полное содержание буфера.
Это точно. Я когда писал на Delphi (давно дело было). Замучился с этим багой/фичей. Лучше сразу на WinSocks писать и не мучиться. Цикл действительно сделать надо. Волосы от ужаса на голове встают. Такой код дебильный получится. Убить Borland надо за такую реализацию.
Black holes were created when the God divided by zero.
Отсутствует
А можете код цикла кинуть? до меня че то не доходит, как его реализовать )
Отсутствует
while (не опупеешь) do begin memo1.Lines.Add(socket.ReceiveText); Application.ProcessMessages; //А то все повиснет. sleep(100); // или как там в Delphi end;
Отредактировано LattyF (03-09-2005 17:05:53)
Black holes were created when the God divided by zero.
Отсутствует
Меня интересует как раз та часть, где "(не опупеешь)"
Отсутствует
LostCodder
дай хоть man по socket.ReceiveText
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
На форуме
function ReceiveText: string;
Description
Use ReceiveText to read a string from the socket connection in the OnSocketEvent event handler of a Windows socket object or in the OnRead or OnClientRead event handler of a socket component. ReceiveText returns the string that was read.
ReceiveText only works in response to a read notification to a non-blocking windows socket. Blocking sockets must use a TWinSocketStream for reading. The TWinSocketStream object waits for the remote socket to be ready before transferring information.
Отсутствует
и что? я использую non-blocking
Отсутствует
LostCodder
И это все описание? А возвращаемые результаты в случае ошибок и окончания буфера?
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
На форуме
ничего подобного нету (
Отсутствует
ViRUS, как?
Отсутствует
Может тут решение найдется?
http://www.sql.ru/forum/actualthread.as … =81050&hl=
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
На форуме