您的位置:首页 > 理论基础 > 计算机网络

使用python获得activemq信息(通过http://server:8161/

2014-09-07 16:58 666 查看
# encoding=utf-8
import urllib2
import cookielib
# from BeautifulSoup import BeautifulSoup
from bs4 import BeautifulSoup
import re
queue_url = "http://192.168.16.218:8161/admin/queues.jsp"

def MQBrowser(url):
login_page = queue_url

try:
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

opener.addheaders = [('User-agent', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'),
('Authorization', 'Basic YWRtaW46YWRtaW4=')]

opener.open(url)
op = opener.open(login_page)
data = op.read()
return data
except Exception, e:
print str(e)

def get_queue_size_by_name(queue_name):
content = MQBrowser(queue_url)
soup = BeautifulSoup(''.join(content))
queue_list = soup.findAll('tbody')[1].findAll('tr')
for i in queue_list:
queue_info = i.findAll('td')
if queue_name == queue_info[0].text.strip():
num_pending = queue_info[1].text.strip()
return num_pending
return -1

def get_queue_size():
content = MQBrowser(queue_url)
soup = BeautifulSoup(''.join(content))
queue_list = soup.findAll('tbody')[1].findAll('tr')
queue_dic = {}
for i in queue_list:
queue_info = i.findAll('td')
queue_name = queue_info[0].text.strip()
num_pending = queue_info[1].text.strip()
num_consumer = queue_info[2].text.strip()
num_enqueued = queue_info[3].text.strip()
num_dequeued = queue_info[4].text.strip()
queue_dic[queue_name] = [num_pending, num_consumer, num_enqueued, num_dequeued]
return queue_dic

def get_queue_detail(queue_name):
content = MQBrowser("http://127.0.0.1:8161/admin/browse.jsp?JMSDestination=%s" % queue_name)
soup = BeautifulSoup(''.join(content))

if __name__ == "__main__":
import sys

if len(sys.argv) == 2:
queue_name = sys.argv[1]
else:
queue_name = "None"
# print get_queue_size_by_name(queue_name)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐