Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при HttpConnection.openInputStream(), Request already sent 
:(
    Опции темы
vG874WbT5F
Дата 26.5.2011, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.5.2011

Репутация: нет
Всего: нет



На телефоне возникает ошибка "java.io.IOException: Request already sent" при вызове HttpConnection.openInputStream():
Код

    try
        {
            hc = (HttpConnection)Connector.open(url); // при любом url
            hc.setRequestMethod(HttpConnection.GET);
            hc.setRequestProperty("User-Agent", System.getProperty("microedition.platform"));
            hc.setRequestProperty("Content-Language", "ru-RU");
            InputStream is = hc.openInputStream(); // тут возникает ошибка
            OutputStream os = hc.openOutputStream();
        }
        catch (Exception ex)
        {
           ...
        }

С чем это связано?

Это сообщение отредактировал(а) vG874WbT5F - 26.5.2011, 16:59
PM MAIL   Вверх
oxigen
Дата 27.5.2011, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



Попробуй сначала отправлять запрос, а потом уж открывать InputStream. А сейчас ты пытаешься прочитать ответ до того, как отправил запрос
Код

            hc = (HttpConnection)Connector.open(url); // при любом url
            hc.setRequestMethod(HttpConnection.GET);
            hc.setRequestProperty("User-Agent", System.getProperty("microedition.platform"));
            hc.setRequestProperty("Content-Language", "ru-RU");
            OutputStream os = hc.openOutputStream();
            out.writeUTF("request body");
            rc = hc.getResponseCode();
            if (rc != HttpConnection.HTTP_OK) {
                throw new IOException("HTTP response code: " + rc);
            }
            InputStream is = hc.openInputStream(); 


Это сообщение отредактировал(а) oxigen - 27.5.2011, 10:56
PM MAIL   Вверх
vG874WbT5F
Дата 27.5.2011, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.5.2011

Репутация: нет
Всего: нет



А если мне не надо никакого запроса отправлять, а просто прочитать страницу?
PM MAIL   Вверх
oxigen
Дата 27.5.2011, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



Цитата(vG874WbT5F @ 27.5.2011,  15:33)
А если мне не надо никакого запроса отправлять, а просто прочитать страницу?

"Просто прочитать" - это как раз и есть GET запрос.
Ты говоришь : "дай мне страничку по этому адресу"
И получаешь в ответ содержимое странички. Или ошибку (не существует, не доступна e.t.c. )

Почитай про то, что такое http протокол.
PM MAIL   Вверх
vG874WbT5F
Дата 27.5.2011, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.5.2011

Репутация: нет
Всего: нет



Я и отправляю запрос GET:
Код

hc.setRequestMethod(HttpConnection.GET);

А вылезает эта ошибка когда открываю InputStream.....
PM MAIL   Вверх
oxigen
Дата 30.5.2011, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



Код

hc.setRequestMethod(HttpConnection.GET);

Это ничего никуда не отправляет. Ты просто у себя формируешь заголовок запроса. 

Если посмотреть на то, что реально происходит:
Код

        hc = (HttpConnection)Connector.open("http://google.com");  
        hc.setRequestMethod(HttpConnection.GET);
        
        int rc = hc.getResponseCode();                    //<-- ИМЕННО ЗДЕСЬ был послан запрос и получен response code и содержимое страницы!!
        if (rc != HttpConnection.HTTP_OK) {
            System.out.println("incorrect responce code" + rc); // Если response code != 200, то значит страница не доступна или еще что-то. 
            return;
        }

        InputStream is = hc.openInputStream();  // А вот теперь можно уже читать полученные данные

PM MAIL   Вверх
vG874WbT5F
Дата 31.5.2011, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.5.2011

Репутация: нет
Всего: нет



Спасибо, разобрался.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0803 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.