0

Никак не могу пройти аутентификацию в HTTPS с использованием loopj Asnctask Http library. Как можно это реализовать и что еще мне нужно добавить в свой код.

Мой код:

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_login);
 etLogin = (EditText) findViewById(R.id.etLogin);
 etPassword = (EditText) findViewById(R.id.etPassword);
 btnJoin = (Button) findViewById(R.id.btnJoin);
 String username = etLogin.getText().toString();
 String password = etLogin.getText().toString();
 final String url = "https://IpAddress:Port/index.php/api/user";
 final AsyncHttpClient client = new AsyncHttpClient();
 client.setBasicAuth(username,password, new AuthScope("IP", Port, AuthScope.ANY_REALM));
 client.addHeader("Authorization", "Basic " + Base64.encodeToString((username+":"+password).getBytes(),Base64.DEFAULT));
 btnJoin.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View view) {
 client.get(url, new AsyncHttpResponseHandler() {
 @Override
 public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
 Log.d("App", "Connected");
 }
 @Override
 public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
 Log.d("App","Upload Failed!");
 Log.d("App","Error Message: " + error.getMessage());
 Log.d("App", "Error Cause: " + error.getCause());
 }
 });
 }
 });

В логах пишет:

09-06 05:20:27.471 1254-1254/uz.istv.jsonparsingtestapp D/App: Upload Failed!

09-06 05:20:27.471 1254-1254/uz.istv.jsonparsingtestapp D/App: Error Message: UnknownHostException exception: Unable to resolve host "host5.istv.uz": No address associated with hostname

09-06 05:20:27.471 1254-1254/uz.istv.jsonparsingtestapp D/App: Error Cause: null

09-06 05:20:27.407 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at java.net.InetAddress.lookupHostByName(InetAddress.java:394) 09-06 05:20:27.407 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236) 09-06 05:20:27.415 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at java.net.InetAddress.getByName(InetAddress.java:289) 09-06 05:20:27.415 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at cz.msebera.android.httpclient.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:464) 09-06 05:20:27.423 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at cz.msebera.android.httpclient.conn.scheme.SchemeSocketFactoryAdaptor.connectSocket(SchemeSocketFactoryAdaptor.java:65) 09-06 05:20:27.427 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at cz.msebera.android.httpclient.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177) 09-06 05:20:27.431 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at cz.msebera.android.httpclient.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:145) 09-06 05:20:27.431 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at cz.msebera.android.httpclient.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131) 09-06 05:20:27.443 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at cz.msebera.android.httpclient.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611) 09-06 05:20:27.443 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at cz.msebera.android.httpclient.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446) 09-06 05:20:27.451 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at cz.msebera.android.httpclient.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:860) 09-06 05:20:27.455 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at cz.msebera.android.httpclient.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) 09-06 05:20:27.455 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at com.loopj.android.http.AsyncHttpRequest.makeRequest(AsyncHttpRequest.java:146) 09-06 05:20:27.455 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at com.loopj.android.http.AsyncHttpRequest.makeRequestWithRetries(AsyncHttpRequest.java:177) 09-06 05:20:27.459 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at com.loopj.android.http.AsyncHttpRequest.run(AsyncHttpRequest.java:106) 09-06 05:20:27.459 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390) 09-06 05:20:27.463 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:234) 09-06 05:20:27.463 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 09-06 05:20:27.467 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 09-06 05:20:27.467 1254-1282/uz.istv.jsonparsingtestapp W/System.err: at java.lang.Thread.run(Thread.java:856)

задан 6 сент. 2016 в 6:41
1
  • Unable to resolve host "host.ipadress.uz" Commented 6 сент. 2016 в 7:52

1 ответ 1

1

Проверьте куда стучитесь, явно в никуда, адрес host.ipadress.uz не ресолвится.

И еще замечание

client.setBasicAuth(username,password, new AuthScope("IP", Port, AuthScope.ANY_REALM));
client.addHeader("Authorization", "Basic " + Base64.encodeToString((username+":"+password).getBytes(),Base64.DEFAULT));

Эти две строчки кода взаимноисключающие.
Либо первое средствами клиента, либо второе вручную.

ответ дан 6 сент. 2016 в 8:11
4
  • Насчет замечание всё понял спасибо, а адрес без проблем открывает на браузере эмулятора... Commented 6 сент. 2016 в 8:36
  • В манифесте доступ в интернет разрешен? Commented 6 сент. 2016 в 8:39
  • Да <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> Commented 6 сент. 2016 в 9:18
  • У меня тоже не ресолвится ping: cannot resolve host5.istv.uz: Unknown host Commented 6 сент. 2016 в 10:17

Ваш ответ

Черновик сохранён
Черновик удалён

Зарегистрируйтесь или войдите

Регистрация через Google
Регистрация через почту

Отправить без регистрации

Необходима, но никому не показывается

Отправить без регистрации

Необходима, но никому не показывается

Нажимая «Отправить ответ», вы соглашаетесь с условиями пользования и подтверждаете, что прочитали политику конфиденциальности.

Начните задавать вопросы и получать на них ответы

Найдите ответ на свой вопрос, задав его.

Задать вопрос

Изучите связанные вопросы

Посмотрите похожие вопросы с этими метками.