-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathurl_404_check.py
36 lines (32 loc) · 1.28 KB
/
url_404_check.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
import concurrent.futures
import requests
from colorama import Fore, Style, init
# Initialize colorama for Windows support
init(autoreset=True)
# List of URLs to check
urls = [
"https://example.com/indonesia/selling-tips/",
"https://example.com/indonesia/buy-and-sell-quickly/",
"https://example.com/indonesia/membership/",
"https://example.com/indonesia/banner-advertising/",
"https://example.com/indonesia/promote-your-ad/",
"https://example.com/indonesia/company-contact-info/",
"https://example.com/indonesia/terms-of-service/",
"https://example.com/indonesia/privacy-policy/",
"https://example.com/indonesia/faqs/",
"https://example.com/indonesia/how-to-stay-safe/",
"https://example.com/indonesia/terms-conditions/",
]
def check_url(url):
try:
response = requests.get(url)
if response.status_code == 200:
print(f"{Fore.GREEN}[Valid] {url}{Style.RESET_ALL}")
else:
print(f"{Fore.RED}[404] {url}{Style.RESET_ALL}")
except requests.RequestException as e:
print(f"{Fore.RED}[Error] {url}: {e}{Style.RESET_ALL}")
if __name__ == "__main__":
# Use concurrent.futures to check URLs concurrently
with concurrent.futures.ThreadPoolExecutor() as executor:
executor.map(check_url, urls)