- _validate_url_before_io: check scheme (HTTPS only), port (80/443), host - fetch_html: recursive redirect validation with hop limit (MAX_REDIRECT_HOPS=5) - Reject non-HTTPS redirects and non-standard ports - All validation happens BEFORE urlopen() call - Updated tests for new validation messages - 109 Python tests pass