我想要一个脚本来检查域名是否通过dns解析为IP地址;使用我写的python脚本。检查网站是否使用浏览器用户代理在python中响应
我希望能够在几个顺序循环中完成此操作,但是在尝试运行一次循环后,第二次运行脚本时,以前返回成功的dns解析响应的名称现在不会。
下面是我的脚本:
#! C:\Python27
import socket,time
localtime = time.asctime(time.localtime(time.time()))
def hostres(hostname):
print "Attempting to resolve " + hostname
try:
socket.gethostbyname(hostname)
print "Resolved Successfully!"
except socket.error:
print "Could Not Resolve"
print "*************************************************"
print "Website loop starting.."
print "Local current time :", localtime
print "*************************************************"
print ""
text_file = open("sites.txt", "r")
lines = text_file.readlines()
for line in lines:
hostres(line)
text_file.close()
文本文件的内容是:
www.google.com
en.wikipedia.org
www.youtube.com
us.gamespot.com
我想这是这些域服务器识别脚本作为“BOT”做而不是合法的最终用户,假设这是否正确?
如果是这样,我该如何检查dns名称是通过查询网站名称(或IP,无所谓)来解决,并且能够运行此操作而不会错误地读取“请求失败”尽管该服务可以从浏览器完全访问的事实?
我没有看到这段代码有任何问题,它对我来说工作正常。也许你的网络设置有问题或类似的东西? – sloth 2012-07-24 11:41:38
因此,它运行良好,对后续运行没有负面反应? – Meh 2012-07-24 11:43:32
我不断解决所有这些问题,尝试在linux和winXP上测试(使用IDLE)。 – Meh 2012-07-24 11:46:43