-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathsitereview.py
More file actions
61 lines (48 loc) · 1.71 KB
/
sitereview.py
File metadata and controls
61 lines (48 loc) · 1.71 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
from __future__ import print_function
import sys
import json
import requests
import xml.etree.ElementTree as ET
from argparse import ArgumentParser
class SiteReview(object):
def __init__(self):
self.baseurl = "https://sitereview.bluecoat.com/resource/lookup"
self.headers = {"User-Agent": "Mozilla/5.0", "Content-Type": "application/json"}
def sitereview(self, url):
payload = {"url": url, "captcha":""}
self.req = requests.post(
self.baseurl,
headers=self.headers,
data=json.dumps(payload)
)
return self.req.content.decode("UTF-8")
def check_response(self, response):
if self.req.status_code != 200:
sys.exit("[-] HTTP {} returned".format(req.status_code))
else:
root = ET.fromstring(self.req.content)
self.url = root.find('.//url').text
self.category = root.find('.//translatedCategories/en/name').text
if root.find('.//ratingDts').text == "OLDER":
self.date = ">"
else:
self.date = "<"
self.maxdate = root.find('.//ratingDtsCutoff').text
def main(url):
s = SiteReview()
response = s.sitereview(url)
s.check_response(response)
border = "=" * (len("Symantec Site Review") + 2)
print("\n{0}\n{1}\n{0}\n".format(border, "Symantec Site Review"))
print("URL: {}\nLast Time Rated/Reviewed: {} {} days ago\nCategory: {}\n".format(
s.url,
s.date,
s.maxdate,
s.category
)
)
if __name__ == "__main__":
p = ArgumentParser()
p.add_argument("url", help="Submit domain/URL to Symantec's Site Review")
args = p.parse_args()
main(args.url)