(self, domain)
| 12345 | return out |
| 12346 | |
| 12347 | def _wayback_summary(self, domain): |
| 12348 | out = {} |
| 12349 | try: |
| 12350 | url = f"https://web.archive.org/cdx/search/cdx?url={urllib.parse.quote(domain)}/*&output=json&fl=timestamp,statuscode,original&filter=statuscode:200&limit=20" |
| 12351 | r = requests.get(url, timeout=12, headers={"User-Agent": "Mozilla/5.0"}) |
| 12352 | if r.status_code != 200: |
| 12353 | out["Wayback"] = f"HTTP {r.status_code}" |
| 12354 | return out |
| 12355 | data = self._safe_response_json(r) |
| 12356 | if not data or len(data) <= 1: |
| 12357 | out["Wayback"] = "Nessuna istantanea pubblica trovata" |
| 12358 | return out |
| 12359 | rows = data[1:] |
| 12360 | first = rows[-1][0] if rows else "" |
| 12361 | last = rows[0][0] if rows else "" |
| 12362 | out["Wayback snapshot"] = f"Totale: {len(rows)}" |
| 12363 | out["Wayback prima"] = str(first) |
| 12364 | out["Wayback ultima"] = str(last) |
| 12365 | return out |
| 12366 | except Exception as e: |
| 12367 | out["Wayback"] = f"Err: {e}" |
| 12368 | return out |
| 12369 | |
| 12370 | def analyze_domain_advanced(self, target): |
| 12371 | domain = target.replace("https://", "").replace("http://", "").split('/')[0].strip() |
no test coverage detected