首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >socket.gethostbyname [Errno -2]名称或服务未知

socket.gethostbyname [Errno -2]名称或服务未知
EN

Stack Overflow用户
提问于 2021-10-21 02:57:28
回答 1查看 40关注 0票数 0

我试着检查几个域名,但即使是一些常见的域名也会返回这个

错误发生在“df‘’IPaddr‘= socket.gethostbyname(DN)”中

socket.gethostbyname Errno -2名称或服务未知

所以我试了试:但大多数都失败了!

选中的域

意外错误:

AMD.com

意外错误:

AOL.com

代码语言:javascript
复制
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:
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-21 03:08:43

对于IPWhoisallow_permutations=True看起来不是有效的参数。因为您使用的是try,所以您可能看不到TypeError:

代码语言:javascript
复制
TypeError: __init__() got an unexpected keyword argument 'allow_permutations'

一旦我删除了这个参数,一切都会按我的预期工作:

代码语言:javascript
复制
from ipwhois import IPWhois
import socket
DN = 'AMD.com'

ip = socket.gethostbyname(DN)
ipwhois = IPWhois(ip).lookup_whois()

print(ip)
print(ipwhois)
代码语言:javascript
复制
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语句,或者将异常打印到控制台并在此处发布您收到的错误:

代码语言:javascript
复制
try:
  ip = socket.gethostbyname(DN)
  ipwhois = IPWhois(ip, allow_permutations=True).lookup_whois()
  print(ip)
  print(ipwhois)

except Exception as e:
  print(e) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69655310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档