Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№103-09-2005 12:40:03

LostCodder
Участник
 
Группа: Members
Зарегистрирован: 25-03-2005
Сообщений: 18

POST запросы

Никак не могу понять, каким образом 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 запросе ?

Отсутствует

 

№203-09-2005 14:31:50

Azathoth
Участник
 
Группа: Extensions
Откуда: Хабаровск
Зарегистрирован: 02-02-2005
Сообщений: 2692

Re: POST запросы

Абсолютно так же, как и везде. Вы видно что-то упустили.
Код в студию!


...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин

Отсутствует

 

№303-09-2005 14:50:05

LostCodder
Участник
 
Группа: Members
Зарегистрирован: 25-03-2005
Сообщений: 18

Re: POST запросы

Код простой.. есть сервер.. при поступлении какого либо сообщения от клиента, текст сообщения пишется в лог. С Оперой и Ослом все нормально.. а в конце сообщения от Файрфокса, данных нету..
Вот код формы:

<form method=POST action=http://localhost/chat>
<input type=text name=nick>
<input type=submit value=Вход>
</form>

Отсутствует

 

№403-09-2005 14:58:53

Azathoth
Участник
 
Группа: Extensions
Откуда: Хабаровск
Зарегистрирован: 02-02-2005
Сообщений: 2692

Re: POST запросы

LostCodder

<input type=text name=nick>

А где value?


...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин

Отсутствует

 

№503-09-2005 15:00:46

LostCodder
Участник
 
Группа: Members
Зарегистрирован: 25-03-2005
Сообщений: 18

Re: POST запросы

дык это текстовое поле.. Value вводить надо )

Отсутствует

 

№603-09-2005 15:09:27

Azathoth
Участник
 
Группа: Extensions
Откуда: Хабаровск
Зарегистрирован: 02-02-2005
Сообщений: 2692

Re: POST запросы

Только что проверил. Все работает.
Может код "дословно" предоставите?


...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин

Отсутствует

 

№703-09-2005 15:13:25

LostCodder
Участник
 
Группа: Members
Зарегистрирован: 25-03-2005
Сообщений: 18

Re: POST запросы

хм.. ну хорошо :)

procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
mess : string;
begin
mess := socket.ReceiveText;
memo1.Lines.Add(mess);
end;

Отсутствует

 

№803-09-2005 15:22:18

Azathoth
Участник
 
Группа: Extensions
Откуда: Хабаровск
Зарегистрирован: 02-02-2005
Сообщений: 2692

Re: POST запросы

Хм... Сервер на Делфи это конечно круто, но я имел в виду HTML код =)

Отредактировано Athathoth (03-09-2005 15:22:48)


...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин

Отсутствует

 

№903-09-2005 15:24:57

Azathoth
Участник
 
Группа: Extensions
Откуда: Хабаровск
Зарегистрирован: 02-02-2005
Сообщений: 2692

Re: POST запросы

Кстати, может эту часть попробовать в цикл оформить

Выделить код

Код:

mess := socket.ReceiveText;
memo1.Lines.Add(mess);

до того момента пока будет выполняться socket.ReceiveText.


...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин

Отсутствует

 

№1003-09-2005 16:03:59

LostCodder
Участник
 
Группа: Members
Зарегистрирован: 25-03-2005
Сообщений: 18

Re: POST запросы

как это? и зачем?

Отсутствует

 

№1103-09-2005 16:04:53

LattyF
Участник
 
Группа: Members
Откуда: г. Самара
Зарегистрирован: 19-06-2005
Сообщений: 2924

Re: POST запросы

[joke]
Это же Дельфи :) Там никто не знает зачем :) А вдруг заработает ^^
[/joke]


Black holes were created when the God divided by zero.

Отсутствует

 

№1203-09-2005 16:31:53

Azathoth
Участник
 
Группа: Extensions
Откуда: Хабаровск
Зарегистрирован: 02-02-2005
Сообщений: 2692

Re: POST запросы

LostCodder

как это? и зачем?

Как - это надо у вас спросить =) Я на делфи не пишу. (Писал на Билдере и то давно. Под винду перешел на чистый winAPI пару лет назад) Ну надо посмотреть что возвращает функция в случае окончания приема, и в цикле проверять на это значение, пока оно не попадется. А до этого времени : mess += socket.ReceiveText;
А вот зачем - затем, что метод ReceiveText может вернуть не полное содержание буфера.

Отредактировано Athathoth (03-09-2005 16:40:37)


...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин

Отсутствует

 

№1303-09-2005 16:47:41

LattyF
Участник
 
Группа: Members
Откуда: г. Самара
Зарегистрирован: 19-06-2005
Сообщений: 2924

Re: POST запросы

Athathoth пишет

А вот зачем - затем, что метод ReceiveText может вернуть не полное содержание буфера.

Это точно. Я когда писал на Delphi (давно дело было). Замучился с этим багой/фичей. Лучше сразу на WinSocks писать и не мучиться. Цикл действительно сделать надо. Волосы от ужаса на голове встают. Такой код дебильный получится. Убить Borland надо за такую реализацию.


Black holes were created when the God divided by zero.

Отсутствует

 

№1403-09-2005 17:03:17

LostCodder
Участник
 
Группа: Members
Зарегистрирован: 25-03-2005
Сообщений: 18

Re: POST запросы

А можете код цикла кинуть? до меня че то не доходит, как его реализовать )

Отсутствует

 

№1503-09-2005 17:05:31

LattyF
Участник
 
Группа: Members
Откуда: г. Самара
Зарегистрирован: 19-06-2005
Сообщений: 2924

Re: POST запросы

Выделить код

Код:

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.

Отсутствует

 

№1603-09-2005 17:20:03

LostCodder
Участник
 
Группа: Members
Зарегистрирован: 25-03-2005
Сообщений: 18

Re: POST запросы

Меня интересует как раз та часть, где "(не опупеешь)" :)

Отсутствует

 

№1703-09-2005 17:22:31

Azathoth
Участник
 
Группа: Extensions
Откуда: Хабаровск
Зарегистрирован: 02-02-2005
Сообщений: 2692

Re: POST запросы

LostCodder
дай хоть man по socket.ReceiveText


...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин

Отсутствует

 

№1803-09-2005 17:25:11

LostCodder
Участник
 
Группа: Members
Зарегистрирован: 25-03-2005
Сообщений: 18

Re: POST запросы

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.

Отсутствует

 

№1903-09-2005 17:28:36

LattyF
Участник
 
Группа: Members
Откуда: г. Самара
Зарегистрирован: 19-06-2005
Сообщений: 2924

Re: POST запросы

Написано же

Blocking sockets must use a TWinSocketStream for reading

.


Black holes were created when the God divided by zero.

Отсутствует

 

№2003-09-2005 17:32:19

LostCodder
Участник
 
Группа: Members
Зарегистрирован: 25-03-2005
Сообщений: 18

Re: POST запросы

и что? я использую non-blocking :)

Отсутствует

 

№2103-09-2005 17:35:17

Azathoth
Участник
 
Группа: Extensions
Откуда: Хабаровск
Зарегистрирован: 02-02-2005
Сообщений: 2692

Re: POST запросы

LostCodder
И это все описание? А возвращаемые результаты в случае ошибок и окончания буфера?


...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин

Отсутствует

 

№2203-09-2005 17:41:21

LostCodder
Участник
 
Группа: Members
Зарегистрирован: 25-03-2005
Сообщений: 18

Re: POST запросы

ничего подобного нету (

Отсутствует

 

№2303-09-2005 17:45:41

ViRUS
ДМБ 2008
 
Группа: Extensions
Откуда: Xa!
Зарегистрирован: 05-11-2004
Сообщений: 1468

Re: POST запросы

LostCodder
Попробуй кусок на ВинАПИ сделать?


Непослушные локоны горничной выбивались из-под её кружевного фартука...

Отсутствует

 

№2403-09-2005 17:50:22

LostCodder
Участник
 
Группа: Members
Зарегистрирован: 25-03-2005
Сообщений: 18

Re: POST запросы

ViRUS, как? :)

Отсутствует

 

№2503-09-2005 18:07:46

Azathoth
Участник
 
Группа: Extensions
Откуда: Хабаровск
Зарегистрирован: 02-02-2005
Сообщений: 2692

Re: POST запросы

Может тут решение найдется?
http://www.sql.ru/forum/actualthread.as … =81050&hl=


...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]