Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.23;
Скачать: CL | DM;

Вниз

Запрос POST + Socket   Найти похожие ветки 

 
Beginer1   (2003-08-22 10:44) [0]

Уважаемые мастера помогите
есть одна страницас авторизацй :

<FORM action="login.php" method="post" name="login" id="login">
<input name="login" type="text" id="login">
<input name="password" type="password" id="password">
<input type="submit" name="submit" value="Вход">
</FORM>

делаю такой запрос :

ClientSocket1.Socket.SendText(POST /login.php HTTP/1.1+#10);
ClientSocket1.Socket.SendText("Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*"+#10);
ClientSocket1.Socket.SendText("Accept-Language: ru"+#10);
ClientSocket1.Socket.SendText("Host: www.kakoitohost.ru"+#10);
ClientSocket1.Socket.SendText("Connection: Keep-Alive"+#13);
ClientSocket1.Socket.SendText("login=mylogin&password=MyPassw");
ClientSocket1.Socket.SendText (#10+#13+#10+#13);

ответ :

HTTP/1.1 400 Bad Request
Date: Fri, 22 Aug 2003 06:30:39 GMT
Server: Apache/1.3.27 (Unix) mod_ssl/2.8.12 OpenSSL/0.9.7a mod_fastcgi/2.2.12
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

Your browser sent a request that this server could not understand.
Request header field is missing colon separator.

login=mylogin&password=MyPassw


 
panov   (2003-08-22 18:47) [1]

Странный разделиель - #10.
Я почему-то думал что используется всегда #13#10


 
Beginer1   (2003-08-22 20:52) [2]

>panov

всё равно что то не правильно.
теперь выдаёт ошибку авторизации


 
panov   (2003-08-22 21:36) [3]

Ну теперь нужно проверить на стороне сервера, какие данные он получает...


 
Beginer1   (2003-08-22 22:16) [4]

>panov

и как это сделать???


 
panov   (2003-08-22 22:24) [5]

Несколько способов:
1. Использовать компонент TServerSocket, в нем смтреть поученную информацию.
2. Воспользоваться готовыми компонентами.
3. Установить сервер(напр. Apache), написать CGI и отлаживать совместно.

PS.
Кстати, необязательно посылать данные методом POST, можно использовать и GET.


 
Verg   (2003-08-23 14:48) [6]

Var St : string;
St:="login=mylogin&password=MyPassw";
ClientSocket1.Socket.SendText(POST /login.php HTTP/1.0+#13#10);
ClientSocket1.Socket.SendText("Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*"+#13#10);
ClientSocket1.Socket.SendText("Accept-Language: ru"+#13#10);
ClientSocket1.Socket.SendText("Host: www.kakoitohost.ru"+#13#10);
ClientSocket1.Socket.SendText("Connection: Keep-Alive"+#13#10);
ClientSocket1.Socket.SendText("Content-Length: "+IntToStr(Length(St))+#13#10#13#10);
ClientSocket1.Socket.SendText(St);


 
Verg   (2003-08-23 14:51) [7]

Кстати для значений полей в ContenString (вдс ST) надо проделать HttpEncode. Т.е. заменить, если есть, спецсимполы на %cc (cc - код спецсимвола)


 
Verg   (2003-08-23 14:55) [8]

Да и вообще :))
Если сокет асинхронный, то...

function TCustomWinSocket.SendText(const s: string): Integer;

Понимаешь, он может вернуть WSAEWOULDBLOCK.
В этом случае надо отложить дальнейшую передачу до возникновения FD_WRITE...


 
Anatoly Podgoretsky   (2003-08-23 14:55) [9]

А вот это еще более странно
ClientSocket1.Socket.SendText("Host: www.kakoitohost.ru"+#10);
ClientSocket1.Socket.SendText("Connection: Keep-Alive"+#13);
То в лес, то в поле


 
Beginer1   (2003-08-29 05:28) [10]

>Verg ©
Да и вообще :))
Если сокет асинхронный, то...

???


 
Verg   (2003-08-30 08:38) [11]


> Beginer1 ©


Еще раз говорю:


> function TCustomWinSocket.SendText(const s: string): Integer;


Как думаешь, зачем она function ?
Очевидно, затем, что она может возвращять результаты своей работы типа Integer. Анализировать эти результаты кто будет? Пушкин?



Страницы: 1 вся ветка

Текущий архив: 2003.10.23;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.009 c
14-74390
pasha_golub
2003-10-06 14:57
2003.10.23
Схожу с ума от С


14-74419
VID
2003-10-05 22:27
2003.10.23
HTTP прокси сервера не дают никакой разницы...


4-74520
pool
2003-08-18 17:14
2003.10.23
как узнать раскладку клавиатуры


1-74133
oens
2003-10-11 00:28
2003.10.23
Прокрутка в WebBrowser


1-74199
Zhirnov Maxim
2003-10-10 09:17
2003.10.23
Иконки в TreeView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский