Отправка POST запроса на PHP скрипт
Как это реализовать? Допустим на форме есть Едит и Кнопка, по нажатию на кнопку прога должна отправить текст введённый в Едит на скрипт (к примеру : mysite.ru/post.php), помогите пожалуйста!!!
А с сетью какими компонентами пользуешься, имхо для твоих целей юзать Indy
А вообще - вот примерчик POST запроса(вход в систему на яндексе)
POST /cgi-bin/Reg.pl?mode=auth&retpath=http://narod.yandex.ru/userarea/after_register.xhtml HTTP/1.0
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0
Content-Length: 86
Host: PASSPORT.YANDEX.RU
Content-Type: application/x-www-form-urlencoded
login=my_login&passwd=my_password×tamp=1155283164060&auth_user.x=22&auth_user.y=17
После поля Сontent-Type идет пустая строка! в поле Content-Length указываешь длину твоего запроса.
PS. собираешь эту строчку и отправляешь на сервак через сокет, читаешь ответ сервера =)
[QUOTE=Link90]Как это реализовать? Допустим на форме есть Едит и Кнопка, по нажатию на кнопку прога должна отправить текст введённый в Едит на скрипт (к примеру : mysite.ru/post.php), помогите пожалуйста!!![/QUOTE]
[/QUOTE]
вобще то для этого есть RFC 2616 (для HTTP/1.1), где описывается HTTP протокол. Всетаки более логично изучать протокло по спецификации, а не по логам ))
Логично! :-))))))) но чтобы парень не забивал себе мозги, я показал как это сделать ПРОЩЕ и БЫСТРЕЕ ;-))) Ему ведь нужно отправить 1 запрос, а не стать гуру в http 1.1 :-)))) К тому же, неизвесто ведь что браузер передает на сервак, в коде станицы рыться чтоли? нет конечно.
Очередной вопрос: А как это отправить? Проконнективаться я уже научился)) А отправлять не знаю как? Как простой текст?
То есть примерно строки выглядят так:
POST /cgi-bin/Reg.pl?mode=auth&retpath=http://narod.yandex.ru/userarea/after_register.xhtml HTTP/1.0\r\n
Accept: */*\r\n
Accept-Language: en-us\r\n
Accept-Encoding: gzip, deflate\r\n
User-Agent: Mozilla/4.0\r\n
Content-Length: 86\r\n
Host: PASSPORT.YANDEX.RU\r\n
Content-Type: application/x-www-form-urlencoded\r\n
\r\n
login=my_login&passwd=my_password×tamp=115528 3164060&auth_user.x=22&auth_user.y=17
Если что не ясно - могу отправить пример, но на VC++ (можно и на builder'e, но я на нем не пишу).. :-)))
Ага, буду очень признателен mail: link90 [собака] mail [точка] ru
http://www.rsdn.ru/archive/vc/issues/pvc092.htm
а через wininet нельзя также сделать разве?
и мне бы тоже тот примерчик хотелось бы получить, нельзя его на форуме выложить?
а через wininet нельзя также сделать разве?
и мне бы тоже тот примерчик хотелось бы получить, нельзя его на форуме выложить?
программка написана на VC++, в Builder'e я не особо... Там даже проще все можно сделать.
Суть программки - она стучится на passport.yandex.ru, и отправляет данные, наподобие тех, что пользователь вводит на вэб-форме при входе в систему. Она покажет нам что она отправляет ;-))) Далее она читает ответ от сервера, вначале заголовок.
----------маленькое отступление-----------------
В заголовке есть весьма интересное поле Set-Cookie: ... Это нужно выцепить из заголовка, и отправлять на сервер далее через поле Cookie: (этот куки дает серверу понять что мы авторизированы). Вероятно, что тебе тоже придется работать с этим полем.
--------------------------------------------------
Далее прога читает само тело страницы, и покажет его как оно есть, в html кодах. Кстати, можно саму страницу и не грузить.
:-))))
PS. Ночью на яндексе надо вводить еще и контрольные цифры(иногда), и прога работать не будет. Проверяй днем. ;)
Можно просто ссылки на статьи где написано про это.
RFC по http найти можно где угодно. но у меня статейка на русском;)