2015-01-07 4 views
1


У меня есть проблема в андроида,
этот проект получить некоторые раньше,
но теперь WebAPI оказывается НТТР HTTPS, и он не может работать,
Я понятия не имею, как это исправить,
Как получить Https строку в Android (с AQuery)

private AQuery aq; 
aq = new AQuery(this); 
    aq.ajax(url, String.class, new AjaxCallback<String>() { 
         public void callback(String url, String string, 
              AjaxStatus status) { 
          if (status.getCode() == 200 && !string.equals("") 
            && result.indexOf(Constants.STATUS) != -1) { 
           StatusMsg statusMsg = JSONParserHelper 
             .statusMsgParser(result); 
           if (statusMsg != null) { 
            String showMsg = JSONParserHelper.getStatusMsg(
              Register.this, statusMsg); 
            Message msg = mHandler 
              .obtainMessage(1, showMsg); 
            mHandler.sendMessage(msg); 
           } else { 
            Message m = mHandler.obtainMessage(2, 
              getString(R.string.link_failure)); 
            mHandler.sendMessage(m); 
           } 
          } else { 
           Message m = mHandler.obtainMessage(2, 
             getString(R.string.link_failure)); 
           mHandler.sendMessage(m); 
          } 
         } 

         ; 
        }); 

ли кто-нибудь может сказать мне, как получить HTTPS?
или мне нужно использовать SSLSocket, чтобы исправить это?

+0

Тонкости вещей могут пойти не так с SSL. Не могли бы вы опубликовать трассировку стека, которую производит этот код? – jjm

+1

вопрос есть статус. getCode() = -101, а строка равна нулю – Louis

+0

Очень странно, что он возвращает '-101', поскольку все коды состояния http являются * положительными *, но состояние' 101' означает, что сервер хочет перейти на HTTPS. Я быстро просмотрел код AQuery и использует HttpUrlConnection, который * должен * автоматически обрабатывать обновление. Это, наверное, глупый вопрос, но делает ли URL, который вы переходите на начало aq.ajax с помощью https: //? Если это не проблема, это может быть что-то на стороне сервера. Можете ли вы получить доступ к URL-адресу с помощью браузера? Если все остальное не удается, это может быть ошибка в aq; вы можете использовать любое из нескольких хороших Android-библиотек Android. – jjm

ответ

1

Я столкнулся с той же проблемой с одним из моих приложений. Оказывается, у меня не хватало необходимого разрешения для Интернета, которое требуется в воде.

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

Посмотрите, имеются ли эти разрешения в вашем androidmanifest.xml. Надеюсь, это поможет

 Смежные вопросы

  • Нет связанных вопросов^_^