· 6 years ago · Sep 24, 2019, 02:26 AM
1#!/usr/bin/env python
2import requests, sys, json, re, time
3from datetime import datetime
4requests.packages.urllib3.disable_warnings()
5
6
7###################
8### Script Settings
9############
10
11fgtip = '192.168.60.30'
12fgtuser = 'admin2'
13fgtsecret = 'password'
14urls = {
15 'a' : '/api/v2/cmdb/system/object-tagging?with_meta=1&datasource=1&skip=1'
16}
17
18###################
19# Setup
20##########
21
22session = requests.session()
23startTime = datetime.now()
24jsonbod = {}
25
26
27###################
28### Login to API
29############
30
31
32res = session.post('https://' + fgtip + '/logincheck',
33 data='username=' + fgtuser + '&secretkey=' + fgtsecret,
34 verify=False)
35
36
37for cookie in session.cookies:
38 if cookie.name == 'ccsrftoken':
39 csrftoken = cookie.value[1:-1] # token stored as a list
40 session.headers.update({'X-CSRFTOKEN': csrftoken})
41
42# Fetch data
43
44for k, v in urls.items():
45 url = 'https://' + fgtip + v
46 res = session.get(url, verify=False)
47 jsonbod[k] = json.loads(res.text)
48
49session.get('https://' + fgtip + '/logout')
50
51#
52# Iterate output
53
54x = {}
55for i in jsonbod['a']['results']:
56 tag = i['category']
57 ref = i['q_ref']
58 print "Tag \"" + tag + "\": (" + str(ref) + " references found)"
59 #x[tag] += 1
60
61print "\n"
62
63difference = datetime.now() - startTime
64print("script took %s seconds to run" % difference)