Skip to content

Commit 7515724

Browse files
committed
added timeout handling
1 parent 0275a9e commit 7515724

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

fapi.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import requests
21
import argparse
2+
import requests
33

44
class ValidateMethodsAction(argparse.Action):
55

@@ -21,7 +21,7 @@ def error(message):
2121
def process_response(request, match_string, default_testing_length, verbose):
2222

2323
response = request.text
24-
if match_string != None:
24+
if match_string is not None:
2525
for string in match_string:
2626
if string in response:
2727
print(f"[+] {request.request.method} - \"{str(string)}\" detected: {request.request.url}")
@@ -30,13 +30,16 @@ def process_response(request, match_string, default_testing_length, verbose):
3030
print(f"[+] {request.request.method} - Different response length: {str(len(response))} - {request.request.url} ")
3131
if verbose:
3232
print(f"[VERBOSE] {request.request.method} {str(len(response))} {request.request.url}")
33-
pass
3433

3534
def prepare_request(methods, url, default_testing_length, verbose, ignore_ssl_verification, match_string):
3635

3736
for method in methods:
38-
request = requests.request(method, url, verify=ignore_ssl_verification)
39-
process_response(request, match_string, default_testing_length, verbose)
37+
try:
38+
request = requests.request(method, url, verify=ignore_ssl_verification)
39+
process_response(request, match_string, default_testing_length, verbose)
40+
except requests.ConnectTimeout:
41+
if verbose:
42+
print(f"[Verbose] {method} - Connection timed out - {url}")
4043

4144
def banner():
4245

@@ -69,7 +72,7 @@ def fapi():
6972
urls : list = args.url
7073
wordlist = args.wordlist[0]
7174
methods : list = args.method
72-
default_testing_length : int = args.default_testing_length[0] if type(args.default_testing_length) is list else args.default_testing_length
75+
default_testing_length : int = args.default_testing_length[0] if isinstance(args.default_testing_length,list) else args.default_testing_length
7376
ignore_ssl_verification = args.ignore_certificates
7477
match_string : list = args.match_string
7578
verbose : bool = args.verbose

0 commit comments

Comments
 (0)