Última actividad 1 month ago

Download all the jar files in a jnlp file for offline examination

jnlp_crawler.py Sin formato
1#!/usr/bin/env python
2#
3# jnlp_crawler.py - Download all the jar files in a jnlp file for offline examination
4# Sheran Gunasekera
5#
6
7from xml.dom.minidom import parse
8from xml.parsers.expat import ExpatError
9import urllib
10import sys
11
12to_download = []
13try:
14 dom = parse(sys.argv[1])
15except ExpatError as (strerror):
16 print "!! JNLP File Parsing error -- "+str(strerror)
17 sys.exit(1)
18jnlp = dom.getElementsByTagName("jnlp")
19codebase = jnlp[0].getAttribute("codebase")
20resources = dom.getElementsByTagName("resources")
21for resource in resources:
22 jar = resource.getElementsByTagName("jar")
23 for attributes in jar:
24 to_download.append(attributes.getAttribute("href"))
25for url in to_download:
26 try:
27 print "+ Attempt to fetch "+codebase+url
28 urllib.urlretrieve(codebase+url,url.split('/')[-1])
29 print "+ Done"
30 except IOError as (errno, strerror):
31 print "!! Failed -- "+strerror
32 except KeyboardInterrupt:
33 sys.exit(0)