|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.03.2011, 09:20 | #1 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Winsock и http
Товарищи программисты. Возник насущный вопрос. Как корректно наладить общение с веб сервером через Winsock. Используем язык программирования с++ и среду разработки Embercadero C++ Builder 2010.
Выкладываю код который успешно выполняет подключение по порту 80 и IP. Хотел выяснить как корректно передать HTTP запрос серверу. Буду весьма признателен за помощь. Код:
Последний раз редактировалось Armatus; 21.03.2011 в 15:34. |
21.03.2011, 15:38 | #2 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Так коннект победил(код в первом посте отредактировал), запросы шлет, но неккоретно. ответы получает. Вопрос насущный как корректно отослать запрос серверу? Хотелось бы увидеть пример простой.
Последний раз редактировалось Armatus; 21.03.2011 в 15:53. |
21.03.2011, 17:00 | #3 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
Так в запросе должны быть символы перевода строки, а gets() их не вставит. типа того:
Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
21.03.2011, 17:26 | #4 | |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Сработало. Тогда возник вопрос следующий. Задача заключается в программном заполнении формы которую мне выдал сервер. Код ответа и скрин формы из браузера прицепил ниже. Каким образом я могу заполнить форму в этом случае?
Цитата:
Последний раз редактировалось Armatus; 22.03.2011 в 08:32. |
|
21.03.2011, 19:21 | #5 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
да ну, не хватало ещё голову над хтмл ломать.. возьмите вайршарк, перехватите, что там бравзер посылает и пошлите то же самое.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
22.03.2011, 08:59 | #6 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Похоже это то что мне нужно? |
22.03.2011, 09:50 | #7 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
ага, похоже
ещё обрати внимание, там ниже сервер отвечает кодом 302, т.е. следующий запрос нужно будет посылать по новому адресу. Есть ещё такая тонкость, что если ответ большой, одним recv() не обойдешься, нужно будет анализировать полученные данные.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
30.03.2011, 10:46 | #8 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Вот код программы:
Код:
http://ifolder.ru/22688324 |
04.04.2011, 13:41 | #9 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Есть у кого какие мысли?
|
04.04.2011, 20:32 | #10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
всмысле не получается вылетает ошибка?
так правильно, сервер может закрыть ваше соединение ведь вы не сказали Connection: Keep-Alive(и не факт что сервер позволяет) чтоб слать в то же соединение второй запрос. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Winsock http-запросы | SmartCream | Работа с сетью в Delphi | 5 | 14.03.2011 15:34 |
WinSock | Onekey | Обсуждение статей | 0 | 20.08.2010 12:04 |
Http Proxy - как написать к браузеру http-прокси? | SergeiGuk | Общие вопросы .NET | 0 | 21.05.2010 17:37 |
WinSock | ImmortalAlexSan | Работа с сетью в Delphi | 1 | 11.05.2010 14:42 |
WinSock | profi | Win Api | 8 | 11.01.2010 21:13 |