Я пытаюсь сделать сообщение http на своем сервере, чтобы проверить, действительны ли учетные данные для входа с помощью this. Мне нужно сделать запрос на мой сервер, но я должен добавить авторизацию, я получаю строку с функцией getB64Auth от this answer. функция записывает правильную переменную (так же, как я использую с почтальоном). Но по какой-то причине моя программа перестает работать, если я запускаю свой код. Я уже пытался добавить код из комментариев, но это не помогло.Объявление о регистрации на Android
Что я делаю неправильно?
private String getB64Auth (String login, String pass) {
String source=login+":"+pass;
String ret="Basic "+Base64.encodeToString(source.getBytes(),Base64.URL_SAFE| Base64.NO_WRAP);
Log.d("authy", ret);
return ret;
}
/** Called when the user clicks the Login button */
public void login(View view) {
// Getting username and password
EditText userText = (EditText) findViewById(R.id.inputLoginUsername);
EditText passText = (EditText) findViewById(R.id.inputLoginPassword);
String usernameInput = userText.getText().toString();
String passwordInput = passText.getText().toString();
String authorizationString = getB64Auth(usernameInput,passwordInput);
// Do something in response to button
// 1. Create an object of HttpClient
HttpClient httpClient = new DefaultHttpClient();
// 2. Create an object of HttpPost
// I have my real server name down here
HttpPost httpPost = new HttpPost("https://myservername.com/login");
// 3. Add POST parameters
httpPost.setHeader("Authorization", authorizationString);
// 5. Finally making an HTTP POST request
try {
HttpResponse response = httpClient.execute(httpPost);
Log.d("win", "win1");
// write response to log
Log.d("Http Post Response:", response.toString());
} catch (ClientProtocolException e) {
Log.d("fail", "Fail 3");
// Log exception
e.printStackTrace();
} catch (IOException e) {
Log.d("fail", "Fail 4");
// Log exception
e.printStackTrace();
}
}
Когда я запускаю мой код, приложение перестает работать, я могу найти authy журнала, но я не могу найти какой-либо сбой SucceS журналов. То, что я изменил в примере, это шаг 3.
ive добавила мою авторизацию там.
и удален шаг 4, потому что я не нуждаюсь в нем.
Рабочий пример почтальона, с тем же запросом, который я хочу сделать в android.
Вы можете видеть, что я получаю ответ, и только набор Авторизация по моей просьбе.
Я не могу найти подходящие учебники по пост/авторизации, поэтому я надеюсь, что я смотрю в правильном направлении.
Это андроид 4. * Проект
Что вы подразумеваете под "app stops working" - это просто застряло или полностью рушится? Вы пытались нюхать трафик Http с Чарльзом/Скрипачом? –
@SamuilYanovski Приложение закрывается, и приложение app отключено. –
Вы видите что-то подозрительное в LogCat (т. Е. Какие-либо ошибки)? Маленький фиктивный вопрос - вы включили разрешение на Интернет, не так ли? :) –