Это делается на Android так же, как в веб-браузере. А именно, вы будете отправлять POST запрос с соответствующими параметрами, скажем, JSON объект для объяснения который содержит что-то вроде:
{
username: 'myUsername'
password: 'mypass'
}
Это обрабатываются и, если учетные данные являются правильными, вы получите ответ, который может содержать множество данных, среди которых accessToken
(его можно назвать небольшим изменением).
Вы должны запомнить этот токен доступа и использовать его для извлечения любых других данных с сайта, поскольку этот токен используется оттуда для аутентификации. У меня есть API, который я лично сделал, и я отправляю accessToken
в качестве параметра в каждом запросе ресурса, который недоступен незарегистрированному пользователю.
Что касается технической стороны, я использую отличную библиотеку под названием OkHttp для отправки запросов Http, и это довольно полезно и удобно. Вот фрагмент кода, чтобы увидеть, что я говорю о:
//JSON is a media type for parsing json
//json is a json string containing payload e.g. username and pass like in the example
OkHttpClient httpClient = new OkHttpClient();
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
Response response = httpClient.newCall(request).execute();
Единственное, что осталось, чтобы для Вас, чтобы правильно разобрать response
. Вы можете найти различные решения по этой теме, но я лично использую 2 подхода, BufferedReader
для огромных ответов, используя response.body().byteStream()
, и простой старый String
для не очень больших ответов, используя response.body().string()
.
Это не краткое, но очень подробное объяснение, поэтому не стесняйтесь просить разъяснений, если вы не получите какую-то часть.
Данная компания представляет собой небольшой стартап с 14 сотрудниками и очень не имеющий безопасности. Я могу видеть хеши для userID и пароль после входа в источник страницы. –