pfade angepasst
This commit is contained in:
22
helpers.py
22
helpers.py
@@ -1393,9 +1393,10 @@ def search_linkedin_contacts(company_name, website, position_query, crm_kurzform
|
||||
# ==============================================================================
|
||||
|
||||
@retry_on_failure
|
||||
def get_website_raw(url, max_length=20000, verify_cert=False):
|
||||
def get_website_raw(url, max_length=20000): # verify_cert wird entfernt
|
||||
"""
|
||||
Holt Textinhalt von einer Website, versucht Cookie-Banner zu umgehen.
|
||||
Versucht zuerst eine sichere Verbindung, bei SSL-Fehler einen unsicheren Fallback.
|
||||
"""
|
||||
logger = logging.getLogger(__name__)
|
||||
if not url or not isinstance(url, str) or url.strip().lower() in ["k.a.", "kein artikel gefunden", "fehler bei suche", "http:"]:
|
||||
@@ -1411,13 +1412,22 @@ def get_website_raw(url, max_length=20000, verify_cert=False):
|
||||
return_marker = False
|
||||
|
||||
try:
|
||||
logger.debug(f"Versuche Website abzurufen: {url[:100]}... (verify={verify_cert})")
|
||||
response = requests.get(url, timeout=getattr(Config, 'REQUEST_TIMEOUT', 20), headers=headers, verify=verify_cert, allow_redirects=True, stream=False)
|
||||
# Erster Versuch: Immer mit Zertifikatsprüfung (sicher)
|
||||
logger.debug(f"Versuche Website sicher abzurufen: {url[:100]}... (verify=True)")
|
||||
response = requests.get(url, timeout=getattr(Config, 'REQUEST_TIMEOUT', 20), headers=headers, verify=True, allow_redirects=True, stream=False)
|
||||
response.raise_for_status()
|
||||
error_reason = None
|
||||
except requests.exceptions.SSLError as e_ssl:
|
||||
error_reason = f"SSL Fehler: {str(e_ssl)[:100]}..."
|
||||
logger.warning(f"SSL Fehler (verify={verify_cert}) fuer {url[:100]}...: {e_ssl}")
|
||||
except requests.exceptions.SSLError:
|
||||
# Zweiter Versuch bei SSL-Fehler: Ohne Zertifikatsprüfung
|
||||
logger.warning(f"SSL-Fehler fuer {url[:100]}... Versuche erneut mit verify=False.")
|
||||
try:
|
||||
response = requests.get(url, timeout=getattr(Config, 'REQUEST_TIMEOUT', 20), headers=headers, verify=False, allow_redirects=True, stream=False)
|
||||
response.raise_for_status()
|
||||
error_reason = None # Fehler wurde behoben
|
||||
except Exception as e_fallback:
|
||||
# Wenn auch der Fallback fehlschlägt, ist es ein anderer Fehler
|
||||
error_reason = f"Fallback-Request fehlgeschlagen nach SSLError: {type(e_fallback).__name__}"
|
||||
logger.error(f"{error_reason} fuer {url[:100]}")
|
||||
except requests.exceptions.Timeout as e_timeout:
|
||||
error_reason = f"Timeout ({getattr(Config, 'REQUEST_TIMEOUT', 20)}s)"
|
||||
logger.warning(f"{error_reason} fuer {url[:100]}...")
|
||||
|
||||
Reference in New Issue
Block a user