HttpURLConnection获取页面数据

该博客主要展示了如何使用Java的HttpURLConnection类来爬取Zabbix页面数据。首先,通过设置Cookie策略和模拟浏览器头部信息进行登录操作,然后获取页面数据。接着,解析并提取页面中特定元素的信息,如CPU空闲时间百分比、可用内存百分比等,并存储到HashMap中。最后,将数据存入Redis和数据库中进行后续处理。
摘要由CSDN通过智能技术生成
public class ZabbixParseDataServiceImpl implements ZabbixParseDataService {

    private static final CookieManager MANAGER;
    private static final String ZABBIX_FILE="";
    private static final String LOGIN_URL="http://jinrongzabbix.cnsuning.com/index.php";
    private static final String AGENT_STR = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36";

    private static final String DATA_URL="http://jinrongzabbix.cnsuning.com/latest.php?groupid=#{GROUPID}&hostid=0";

    private static final String GROUD_ID_STR = "groupId";

    private static final Logger log = LoggerFactory.getLogger(ZabbixParseDataServiceImpl.class);
    @Autowired
    private PaymentRedisUtilService paymentRedisUtilService;

    @Autowired
    private ZabbixParseInfoDao zabbixParseInfoDao;


    static {
        MANAGER = new CookieManager();
        MANAGER.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
        CookieHandler.setDefault(MANAGER);
    }

    /**
     * 解析zabbix的数据
     * @return
     */
    @Override
   public void parseZabbixData(){
        log.info("zabbix获取数据开始。");
        String resultStr= null;
        try {
            Map<String,String> resultMap=getZabbixData();
            log.info("zabbix数据存redis中参数{}:"+JSONObject.toJSONString(resultMap));
            resultStr = paymentRedisUtilService.hmset(CommonConstants.REDIS_ZABBIX_KEY,resultMap);
        } catch (Exception e) {
            log.error("zabbix数据获取并存redis中出现异常。",e);
        }
        log.info("zabbix数据存redis中结果为:"+resultStr);
        log.info("zabbix获取数据结束。");
    }

    /**
     * zabbix获取一键付统计数据
     */
    @Override
    public void parserZabbixData4DisposablePay() {
        log.info("zabbix获取一键付统计数据开始");
        List<Map<String, Object>> resultList = null;
        try {
            resultList = getZabbixData4PayMonitor();
            if (null != resultList && !resultList.isEmpty()) {
                zabbixParseInfoDao.insertDisposablePayInfo(resultList);
            }
        } catch (Exception e) {
            log.error("zabbix一键付统计数据处理出现异常{}",e);
        }
        log.info("zabbix获取一键付统计数据结束,获取结果{}"+resultList);
    }

    /**
     * 获取zabbix一键付监控实时数据
     * @return
     */
    public List<Map<String, Object>> getZabbixData4PayMonitor() {
        List<Map<String, Object>> monitorInfoList 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值