![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| zuran |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
Делаю апплет, который закачивает файлы на сервер
То сервер не получает никаких запросов, в том числе POST хотя например если вызвать url.openStream(); получает пустой пост что можно сделать? очень уж не хочется делать через вот это
спасибо |
||||
|
|||||
| ecologist |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 452 Регистрация: 28.2.2007 Репутация: 1 Всего: 9 |
А сам апплет с этого же сервака запускается ?
|
|||
|
||||
| zuran |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
т.е. чем обслуживается???
или адрес сервака |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 1 Всего: 43 |
В HttpURLConnection запрос на сервер (по крайней мере, для GET и POST) отсылается только в момент, когда клиент переходит к чтению ответа сервера, т.е. после вызова getInputStream() ( или getResponseCode() ). В вашем коде этого нет и соответственно никакой запрос никуда не отправляется. Все, что вы пишете в OutputStream, просто буферизуется.
Когда же вы вызываете openStream(), то это:
т.е. в этом случае автоматически вызывается getInputStream() и запрос на сервер отсылается. |
|||
|
||||
| zuran |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
т.е. если сделать InputStream, то можно будет потом выслать данные. Или я чего не понимаю? |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 1 Всего: 43 |
после while(..){..} добавьте int code = con.getResponseCode(); . В этот момент будет сделана попытка соединения с сервером и все записанное в буфер (в цикле while ) будет отправлено. После этого уже ничего дописать в output нельзя. В случае успеха сервер должен вернуть значение кода 200. Открывать inputStream не обязательно, если не предполагается, что сервер в ответ что-то возвращает, кроме стандартных хедеров.
Это сообщение отредактировал(а) COVD - 14.1.2009, 18:48 |
|||
|
||||
| zuran |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Репутация: нет Всего: нет |
но в любом случае я должен сам формировать пост запрос, так?
спасибо |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 1 Всего: 43 |
Ну да, все как вы сделали. Только вы не сформировали обработку ответа. Потому запрос и не отсылался. Создатели HttpURLConnection таким образом препятствуют попыткам нарушить протокол. Это типичное недоразумение, возникающее, когда хотят отправить что-то на сервер и не интересуются ответом. А ответ сервера клиенту полезно получить хотя бы на уровне http кода, т.е. успешно\не успешно. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Апплеты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |