Check if a URL is reachable
Project description
Reachable checks if a URL exists and is reachable.
Features
- Use
HEAD
request instead ofGET
to save some bandwidth - Follow redirects
- Handle local redirects (without full URL in
location
header) - Record all the URLs of the redirection chain
- Check if redirected URL match the TLD of source URL
- Detect Cloudflare protection
- Avoid basic bot detectors
- Use randome Chrome user agent
- Wait between consecutive requests to the same host
- Include
Host
header
- Use of HTTP/2
Installation
You can install it with pip :
pip install reachable
Or clone this repository and simply run :
cd reachable/
pip install -e .
Usage
Simple URL
result = is_reachable("https://google.com")
The output will look like this:
{
"url": "https://www.google.com/",
"response": null,
"status_code": 200,
"success": true,
"error_name": null,
"cloudflare_protection": false,
"redirect": {
"chain": ["https://www.google.com/"],
"final_url": "https://www.google.com/",
"tld_match": true
}
}
Multiple URLs
result = is_reachable(["https://google.com", "http://bing.com"])
The output will look like this:
[
{
"url": "https://www.google.com/",
"response": null,
"status_code": 200,
"success": true,
"error_name": null,
"cloudflare_protection": false,
"redirect": {
"chain": ["https://www.google.com/"],
"final_url": "https://www.google.com/",
"tld_match": true
}
},
{
"url": "https://www.bing.com/?toWww=1&redig=16A78C94",
"response": null,
"status_code": 200,
"success": true,
"error_name": null,
"cloudflare_protection": false,
"redirect": {"chain": ["https://www.bing.com:443/?toWww=1&redig=16A78C94"],
"final_url": "https://www.bing.com/?toWww=1&redig=16A78C94",
"tld_match": true
}
]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
reachable-0.1.0.tar.gz
(5.9 kB
view hashes)
Built Distribution
Close
Hashes for reachable-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3449a9f57b15f8278c71799be0d60e56d7387d2f08d3a0bff46e257fd403ce16 |
|
MD5 | 931ad9cf64e12cab4d312b7280bd5e2c |
|
BLAKE2b-256 | 55cdfb794e127ba52497f1ad26d0e7c00c7037aec721bc1045c88bc9493f9e61 |