Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Мониторинг страницы каждые 5 сек / 11 сообщений из 11, страница 1 из 1
28.02.2014, 08:55
    #38574937
jerrym
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг страницы каждые 5 сек
Помогите реализовать. Необходимо мониторить каждые 5 секунд страницу " localhost:9911/star?request=1 " на наличие изменений. При заходе на эту страницу выдает только одну строку текста " {"stars":100} " вот это значение и надо мониторить. И если stars >= 200, то необходимо сделать запрос " localhost:9911/star?transf=2&stars=... " вместо точек поставить значение stars деленное на 100. И затем все заново.
...
Рейтинг: 0 / 0
28.02.2014, 09:49
    #38574960
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг страницы каждые 5 сек
jerrym,
а какой элемент не выходит?
...
Рейтинг: 0 / 0
28.02.2014, 09:52
    #38574961
jerrym
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг страницы каждые 5 сек
Не справиться с JSON'он
...
Рейтинг: 0 / 0
28.02.2014, 09:53
    #38574963
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг страницы каждые 5 сек
jerrymНе справиться с JSON'он
код давай
...
Рейтинг: 0 / 0
28.02.2014, 19:49
    #38575652
jerrym
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг страницы каждые 5 сек
Муть скорей всего наделал..

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
import java.net.HttpURLConnection;
import java.net.URL;

public class Monitor 
{
  public static void main(String[] args) throws Exception
  {
	  int x = 0;
      while (true) {
          Thread.sleep(5000);
          String url = "http://localhost:9911/star?request=1";
          String inputString = "{\"stars\":100}";
          String numberStringOnly = inputString.replaceAll("\\D", "");
          int i = Integer.parseInt(numberStringOnly);
          System.out.println(i);
          if (x >= 200) {
              HttpURLConnection c = ( HttpURLConnection ) 
                      new URL( "http://localhost:9911/star?transf=2&stars=" + x ).openConnection();

        System.out.println( c.getResponseCode() );
          } else {
        	  
          }
      }  

   } 
 }
...
Рейтинг: 0 / 0
28.02.2014, 20:30
    #38575666
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг страницы каждые 5 сек
Код: java
1.
String numberStringOnly = inputString.replaceAll("[^\\d]", "");



А наверняка можно более функционально сделать с джававскими классами по работе с json.
...
Рейтинг: 0 / 0
28.02.2014, 21:11
    #38575686
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг страницы каждые 5 сек
Сорри, фигню написал, вот:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedInputStream;

public class Monitor 
{
  public static void main(String[] args) throws Exception
  {
	  int x = 0;
      while (true) {
          Thread.sleep(5000);
          String url = "http://localhost:9911/star?request=1";
          URL url = new URL(url);
	  BufferedInputStream bis = (BufferedInputStream)url.getContent();
	  int chr;
	  String xstr = "";
	         while ((chr = bis.read()) != -1) xstr += (char)chr;
          
          if (Integer.parseInt(xstr.replaceAll("\\D", "")) >= 200) {
              HttpURLConnection c = ( HttpURLConnection ) 
                      new URL( "http://localhost:9911/star?transf=2&stars=" + x ).openConnection();

             System.out.println( c.getResponseCode() );
          } else {
        	  
          }
      }  

   } 
 }
...
Рейтинг: 0 / 0
28.02.2014, 21:27
    #38575695
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг страницы каждые 5 сек
no56892,

Что у Вас такое Thread.sleep(5000); ?
Это ведь на сервере, а не на клиенте. Причём здесь тогда "мониторинг страницы"?
...
Рейтинг: 0 / 0
28.02.2014, 22:56
    #38575746
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг страницы каждые 5 сек
ShSergeno56892,

Что у Вас такое Thread.sleep(5000); ?
Это ведь на сервере, а не на клиенте. Причём здесь тогда "мониторинг страницы"?

а почему нельзя это делать на сервере?

jerrym, то что я написал выше работает только с url вида "file:///...", а вам надо http , ну немного подправить придется.
...
Рейтинг: 0 / 0
01.03.2014, 01:27
    #38575850
jerrym
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг страницы каждые 5 сек
Теперь все стало ещё сложней для меня.
...
Рейтинг: 0 / 0
01.03.2014, 15:35
    #38576036
jerrym
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мониторинг страницы каждые 5 сек
Это оказалось сложней чем я думал.
Может кто-нибудь, за символическую плату на телефон, поможет мне написать этот код?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Мониторинг страницы каждые 5 сек / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]