- Сайт: http://na.leagueoflegends.com/ladders/solo-5x5
- Поиск игрока (пример: Jaiybe)
- Вы будете перенаправлены (в данном случае: http://na.leagueoflegends.com/ladders/solo-5x5?highlight=28&page=1)
- Читать содержание
И я хочу сделать это в Java / Android.
Я анализирую POST-запрос сайтов при поиске, результат:
- op: Поиск
- игрок: Jaiybe
- ladder_id: 3
- form_build_id: form-fff5e6e2569f1e15e5a5caf2a61c15e2
- form_id: ladders_filter_form
Создайте простую смесь HTTP POST и давайте прочитаем содержимое ...
КОД:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://na.leagueoflegends.com/ladders/solo-5x5");
// Add your POST METHOD attributes
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("op", "Search"));
nameValuePairs.add(new BasicNameValuePair("player", Jaiybe));
nameValuePairs.add(new BasicNameValuePair("ladder_id", "3"));
nameValuePairs.add(new BasicNameValuePair("form_build_id","form-daca6fff89cedc352ccc3f533afa3804"));
nameValuePairs.add(new BasicNameValuePair("form_id","ladders_filter_form"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
responseBody = EntityUtils.toString(response.getEntity());
return responseBody;
И когда я запускаю его, я получаю какую-то автономную страницу ...
Число form_build_id - постоянно меняется, но это не было проблемой, использовать все тот же, а также Если я хотел бы "проверить", если это может быть проблемой, я понятия не имею, как бы я .. .
ИЛИ: Есть ли другой - БЫСТРЫЙ - способ, как получить те же результаты?
Что странно, так это то, что исходный код «ошибки», который я получаю на Android, отличается от того, как если бы я запускал его на моем ПК (Win7, Eclipse, Java) или в моем браузере. Как будто бы было две версии офлайн-сайтов - для мобильных и для ПК - но мой вопрос: как сервер узнает, что код работает на устройстве Android? Есть ли способ, как настроить это в HttpClient?