-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfunction.py
86 lines (70 loc) · 2.68 KB
/
function.py
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import socket
import requests
from colorama import Fore, Back, Style
from urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)
def getIP(url):
s = socket.gethostbyname(url)
print('IP: '+ s)
return str(s)
def printMe(statusCode, url, length, full):
if statusCode == 403:
print(Fore.RED + str(statusCode) + Fore.WHITE + ' ' + url + ' - Length: ' + str(length))
elif statusCode != 403 and statusCode != 200:
print(Fore.YELLOW + str(statusCode) + Fore.WHITE + ' ' + url + ' - Length: ' + str(length))
else:
print(Fore.GREEN + str(statusCode) + Fore.WHITE + ' ' + url + ' - Length: ' + str(length))
'''
if statusCode == 200:
print("CODE: 200 print content")
print(full.text)
'''
def requestT(url, headers):
urlT = url._replace(scheme="http")
r = requests.get(urlT.geturl(), allow_redirects = False, headers=headers, verify = False)
if 'content-length' in r.headers.keys():
l = r.headers['Content-Length']
else:
l = 0
printMe(r.status_code, urlT.geturl(), l, r)
#print(str(r.status_code) + ' ' + urlT.geturl() + ' - Length: ' + str(l))
urlT = url._replace(scheme="https")
r = requests.get(urlT.geturl(), allow_redirects = False, headers=headers, verify = False)
if 'content-length' in r.headers.keys():
l = r.headers['Content-Length']
else:
l = 0
printMe(r.status_code, urlT.geturl(), l, r)
#print(str(r.status_code) + ' ' + urlT.geturl() + ' - Length: ' + str(l))
def requestP(url, headers):
## RAW Test
urlT = url._replace(scheme="http")
s = requests.Session()
s.verify = False
req = requests.Request(method='GET', url=urlT.geturl(), headers=headers)
prep = req.prepare()
# aqui iria el mutator
prep.url = urlT.geturl()
t = s.send(prep, allow_redirects = False)
if 'content-length' in t.headers.keys():
l = t.headers['Content-Length']
else:
l = 0
printMe(t.status_code, urlT.geturl(), l, t)
#print(Fore.GREEN + str(t.status_code) + ' ' + Fore.WHITE + prep.url)
## HTTPS
urlT = url._replace(scheme="https")
s = requests.Session()
s.verify = False
s.max_redirects = 1
req = requests.Request(method='GET', url=urlT.geturl(), headers=headers)
prep = req.prepare()
# aqui iria el mutator
prep.url = urlT.geturl()
t = s.send(prep, allow_redirects = False)
if 'content-length' in t.headers.keys():
l = t.headers['Content-Length']
else:
l = 0
printMe(t.status_code, urlT.geturl(), l, t)
#print(Fore.GREEN + str(t.status_code) + ' ' + Fore.WHITE + prep.url)