HTTPS соединение - PullRequest
       3

HTTPS соединение

0 голосов
/ 24 июля 2010

Я использую следующий код для установления соединения Https

    HttpsConnection httpConnector = null;
    InputStream in = null;
    Document doc ;
    String content = "";

            try 
                {
               httpConnector = (HttpsConnection)Connector.open(url,Connector.READ_WRITE);
                    httpConnector.setRequestMethod(HttpConnection.GET) ;
                    in = httpConnector.openInputStream();
                    byte[] data = new byte[in.available()];
                    int len = 0;
                    int size = 0;
                    StringBuffer raw = new StringBuffer();
                        while ( -1 != (len = in.read(data)) ) {
                            raw.append(new String(data, 0, len));
                            size += len;
                        }
                        content = raw.toString().trim();
                                }
                   catch(Exception ex)
                   {
                       ex.printStackTrace();
                       return false;  
                   }
                   try{
                    in.close();
                    in =null;
                    httpConnector.close();
                    httpConnector =null;

            }catch(Exception ex)
            {
                Dialog.alert("Error:" + ex.getMessage());
                return false;

            } 
            } 

Я думаю, что могу установить соединение, но значения не приходят. я тестирую его на симуляторе, я не тестировал на устройстве

1 Ответ

1 голос
/ 24 июля 2010

Я думаю, что ваша ошибка в следующей строке:

byte[] data = new byte[in.available()];

Метод available() возвращает только то количество байтов, которое сразу же доступно для чтения из входного потока, но вы используете его для инициализации размера временного байтового массива. Так как вполне возможно, что available () возвращает 0, возможно, вы инициализируете массив нулевой длины.

Было бы лучше просто инициализировать «данные» массивом фиксированной длины.

...