Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > HttpsConnection


Автор: satellite1977 22.8.2007, 12:55
Товарищи, объясните пожалуйста почему не работает вот это:
Код

public class Midlet extends MIDlet 
{
    Form form;
    HttpsConnection con = null;
    InputStream is = null;
    String str = "";
    
     public void startApp() 
    {
        Display display = Display.getDisplay(this);
        form = new Form("Form");
        try {

            con = (HttpsConnection)Connector.open("https://eurasiasat.satgate.ru/index.php");

        } catch (IOException ex) {
            ex.printStackTrace();
        }
        try {

            if (con.getResponseCode() == HttpsConnection.HTTP_OK) str = "Connected";

        } catch (IOException ex) {
            ex.printStackTrace();
        }
        form.append(str);
        display.setCurrent(form);
    }
    
         
    public void pauseApp() 
    {
    }
    
    public void destroyApp(boolean unconditional) 
    {
    }
}

При компиляции никаких ошибок, при выполнении тоже, но и на экране ничего. А вот с HttpConnection и с обычными http сайтами все нормально. Заранее спасибо.

M
W0LF
satellite1977,бери пожалуйста код в тег code. Ведь читать не удобно

Автор: GhostMasterNet 22.8.2007, 14:40
В спецификации Connector.open написано, что кроме IOException может быть сгенерированы

IllegalArgumentException - If a parameter is invalid. 
ConnectionNotFoundException - If the target of the name cannot be found, or if the requested protocol type is not supported. 
IOException - If some other kind of I/O error occurs. 
SecurityException - May be thrown if access to the protocol handler is prohibited

Возможно, это поможет найти ошибку.

Попробуй заменить

Код

   if ( con.getResponseCode( ) == HttpsConnection.HTTP_OK ) str = "Connected";

 на
Код

   str = String.valueOf( con.getResponseCode( ) );


и посмотреть, что присылает сервер.

Может, ошибка в URL?

Автор: W0LF 22.8.2007, 15:59
там наверно CertificateException
мидлет помоему должен быть подписан для того, чтоб юзать https

Автор: satellite1977 23.8.2007, 08:56
Исключение на этапе
Код

try {
            i = con.getResponseCode();
       } 
      
       catch (IOException ex) 
      
       {
            System.out.println(ex);
       }

следующее - java.io.IOException:TLS:Bad Certificate packet
что-то вроде - плохой пакет сертификата.

Автор: Antropoid 27.8.2007, 11:54
А если так:
Код

con = (HttpsConnection)Connector.open("https://eurasiasat.satgate.ru/index.php;CertificateErrorHandling=warn");

?

Автор: javastic 28.8.2007, 09:22
Пофиг, потому что сервер смотрит и видит что это httpS

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)