This repository was archived by the owner on Aug 7, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathindex.py
More file actions
89 lines (73 loc) · 3.01 KB
/
index.py
File metadata and controls
89 lines (73 loc) · 3.01 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
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
87
88
89
import cloudscraper
import argparse
import json
from base64 import urlsafe_b64encode
parser = argparse.ArgumentParser()
parser.add_argument('--url')
parser.add_argument('--method')
parser.add_argument('--data')
parser.add_argument('--headers')
parser.add_argument('--redirect')
args = parser.parse_args()
try:
if args.method == "GET":
req = None
if args.headers != None:
headers = json.loads(args.headers)
req = cloudscraper.create_scraper().get(args.url, timeout=3, headers=headers, allow_redirects=args.redirect)
else:
req = cloudscraper.create_scraper().get(args.url, timeout=3, allow_redirects=args.redirect)
print(urlsafe_b64encode((req.text.encode("UTF-8"))))
statusCode = {
"statusCode": req.status_code
}
headersDict = dict(req.headers)
encoded_headers = str(urlsafe_b64encode(json.dumps(headersDict).encode("ascii")))
responseHeaders = {
"responseHeaders": encoded_headers
}
print(json.dumps(statusCode))
print(json.dumps(responseHeaders))
elif args.method == "POST":
json_data = json.loads(args.data)
req = None
if args.headers != None:
headers = json.loads(args.headers)
req = cloudscraper.create_scraper().post(args.url, data=json_data, timeout=3, headers=headers, allow_redirects=args.redirect)
else:
req = cloudscraper.create_scraper().post(args.url, data=json_data, timeout=3, allow_redirects=args.redirect)
print(urlsafe_b64encode((req.text.encode("UTF-8"))))
statusCode = {
"statusCode": req.status_code
}
headersDict = dict(req.headers)
encoded_headers = str(urlsafe_b64encode(json.dumps(headersDict).encode("ascii")))
responseHeaders = {
"responseHeaders": encoded_headers
}
print(json.dumps(statusCode))
print(json.dumps(responseHeaders))
elif args.method == "COOKIE":
print(cloudscraper.get_cookie_string(args.url))
elif args.method == "TOKENS":
print(cloudscraper.get_tokens(args.url))
else:
req = None
if args.headers != None:
headers = json.loads(args.headers)
req = cloudscraper.create_scraper().get(args.url, timeout=3, headers=headers, allow_redirects=args.redirect)
else:
req = cloudscraper.create_scraper().get(args.url, timeout=3, allow_redirects=args.redirect)
print(urlsafe_b64encode((req.text.encode("UTF-8"))))
statusCode = {
"statusCode": req.status_code
}
headersDict = dict(req.headers)
encoded_headers = str(urlsafe_b64encode(json.dumps(headersDict).encode("ascii")))
responseHeaders = {
"responseHeaders": encoded_headers
}
print(json.dumps(statusCode))
print(json.dumps(responseHeaders))
except:
raise Exception("Could not send data to " + args.url + " with request data " + args.data + ".")