Quantcast
Channel: Active questions tagged whois - Stack Overflow
Viewing all articles
Browse latest Browse all 47

Connection reset by peer error on containers

$
0
0

iam using asyncio to reduce the time taken for my task through locally for below code i didnt get any error for 500 domains

but same code run on container iam facing these errors likeerror image

for some domains it is not giving whois response but locally it gives

the code is given below

async def detect_whois_misconfiguration(self, domain):        registry_status = ['serverTransferProhibited', 'serverDeleteProhibited', 'serverUpdateProhibited']        max_retries = 3        delay_between_retries = 3        for attempt in range(1, max_retries + 1):            try:                domain_info = await asyncio.to_thread(whois.whois, domain.strip('.'))                if domain_info and domain_info.expiration_date:                    expiration_date = domain_info.expiration_date                    # If expiration_date is a list, take the second element                    if isinstance(expiration_date, list):                        expiration_date = expiration_date[1]                    # Ensure expiration_date is a datetime object                    if isinstance(expiration_date, str):                        expiration_date = datetime.strptime(expiration_date, "%Y-%m-%d %H:%M:%S")                    expiration_date = expiration_date.replace(tzinfo=timezone.utc)                        # Get current UTC time                    current_utc = datetime.now(timezone.utc)                    # Compare expiration date with current time                    if current_utc > expiration_date:                        self.domain_expired = True                if domain_info and domain_info.status:                    status = domain_info.status                    if isinstance(status, list):                        status = " | ".join(status)                    if not any(substring in status for substring in registry_status):                        self.registry_lock_misconfigured = True                    if "clientDeleteProhibited" not in status:                        self.client_delete_misconfigured = True                    if "clientUpdateProhibited" not in status:                        self.client_update_misconfigured = True                return True            except Exception as e:                logger.warning(f"Attempt {attempt}: Error in WHOIS info for domain {domain}, error: {e}")                if attempt < max_retries and ('timed out' in str(e).lower() or 'connection reset by peer' in str(e).lower()):                    logger.info(f"Retrying in {delay_between_retries} seconds...")                    await asyncio.sleep(delay_between_retries)                else:                    logger.error(f"Failed to fetch WHOIS info for domain {domain} after {max_retries} attempts.")                    return False        return False

Viewing all articles
Browse latest Browse all 47

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>