Как войти на сайт и получить данные json в Android Listview? - PullRequest
0 голосов
/ 02 октября 2018

У меня есть веб-страница с защищенной страницей для входа в php, и если я ввожу свои данные для входа, это перенаправляет в файл data.json.

Но если вы не авторизованы, t ничего не показывает?!

Может кто-нибудь показать мне код или пример, как сделать аутентификацию в Android для получения данных с сервера?Я уже пытался сделать get_data.php, что может войти в MySQL и преобразовать его в JSON, но как я могу защитить его и после этого войти и получить его в Android-приложении?

1 Ответ

0 голосов
/ 02 октября 2018

Для входа в систему вы можете использовать библиотеку Jsoup https://jsoup.org/

 final String USER_AGENT = "\"Mozilla/5.0 (Windows NT\" +\n" +
     "\" 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2\"";
    String loginFormUrl = "https://page.com/login";
    String loginActionUrl = "https://page.com/json";
    String username = "email@gmail.com";
    String password = "XXXX";

 HashMap<String, String> cookies = new HashMap<>();  
 HashMap<String, String> formData = new HashMap<>();  


 Connection.Response loginForm = Jsoup.connect(loginFormUrl).method(Connection.Method.GET).userAgent(USER_AGENT).execute();  
 Document loginDoc = loginForm.parse(); // this is the document that contains response 

 cookies.putAll(loginForm.cookies()); // save the cookies, this will be passed on to next request  

 formData.put("commit", "Sign in");  
 formData.put("utf8", "e2 9c 93");  
 formData.put("login", username);  
 formData.put("password", password);  
 formData.put("authenticity_token", authToken);  

 Connection.Response homePage = Jsoup.connect(loginActionUrl)  
         .cookies(cookies)  
         .data(formData)  
         .method(Connection.Method.POST)  
         .userAgent(USER_AGENT)  
         .execute();  

System.out.println(homePage.parse().html());  //The json response use this to iterate and draw
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...