我试着检查几个域名,但即使是一些常见的域名也会返回这个
错误发生在“df‘’IPaddr‘= socket.gethostbyname(DN)”中
socket.gethostbyname Errno -2名称或服务未知
所以我试了试:但大多数都失败了!
选中的域
意外错误:
AMD.com
意外错误:
AOL.com
import whois
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import socket
import os
import csv
import datetime
import time
import requests
from ipwhois import IPWhois
from urllib import request
from ipwhois.utils import get_countries
import tldextract
from ipwhois.utils import get_countries
countries = get_countries(is_legacy_xml=True)
from ipwhois.experimental import bulk_lookup_rdap
from ipwhois.hr import (HR_ASN, HR_ASN_ORIGIN, HR_RDAP_COMMON, HR_RDAP, HR_WHOIS, HR_WHOIS_NIR)
countries = get_countries(is_legacy_xml=True)
import ipaddress
df = pd.read_csv('a.csv')
#TimeOut Setting
s = socket.socket()
s.settimeout(10)
#Date Processing Function
def check_date_type(d):
if type(d) is datetime.datetime:
return d
if type(d) is list:
return d[0]
for index,row in df.iterrows():
try:发布于 2021-10-21 03:08:43
对于IPWhois,allow_permutations=True看起来不是有效的参数。因为您使用的是try,所以您可能看不到TypeError:
TypeError: __init__() got an unexpected keyword argument 'allow_permutations'一旦我删除了这个参数,一切都会按我的预期工作:
from ipwhois import IPWhois
import socket
DN = 'AMD.com'
ip = socket.gethostbyname(DN)
ipwhois = IPWhois(ip).lookup_whois()
print(ip)
print(ipwhois)23.50.124.85
{'nir': None, 'asn_registry': 'arin', 'asn': '16625', 'asn_cidr': '23.50.124.0/22', 'asn_country_code': 'US', 'asn_date': '2011-05-16', 'asn_description': 'AKAMAI-AS, US', 'query': '23.50.124.85', 'nets': [{'cidr': '23.32.0.0/11, 23.64.0.0/14', 'name': 'AKAMAI', 'handle': 'NET-23-32-0-0-1', 'range': '23.32.0.0 - 23.67.255.255', 'description': 'Akamai Technologies, Inc.', 'country': 'US', 'state': 'MA', 'city': 'Cambridge', 'address': '145 Broadway', 'postal_code': '02142', 'emails': ['ip-admin@akamai.com', 'abuse@akamai.com'], 'created': '2011-05-16', 'updated': '2012-03-02'}], 'raw': None, 'referral': None, 'raw_referral': None}如果您仍然遇到问题,则可能是DNS或路由问题导致了问题。隔离本地环境是否是问题的快速方法是在Google Colab之类的东西中测试代码片段,因为运行时将在谷歌服务器上:https://colab.research.google.com/
如果这些建议都不起作用,那么您最好删除try语句,或者将异常打印到控制台并在此处发布您收到的错误:
try:
ip = socket.gethostbyname(DN)
ipwhois = IPWhois(ip, allow_permutations=True).lookup_whois()
print(ip)
print(ipwhois)
except Exception as e:
print(e) https://stackoverflow.com/questions/69655310
复制相似问题