如果注册了域名,则使用Python或bash
我写这个脚本是为了检查域是否有响应,但由于某些原因,如果有超过50-100个域需要检查,脚本写我响应页面不需要写在文件中 这是我的密码: cat./domains/domains.all | sort | uniq>>。/checked/unique.url筛选唯一域 UNIQUE=./checked/UNIQUE.url在变量中添加唯一的域 touch./checked/unresponse.url为无响应的域创建新文件 读p;从$UNIQUE读取行时执行如果注册了域名,则使用Python或bash,python,bash,api,dns,Python,Bash,Api,Dns,我写这个脚本是为了检查域是否有响应,但由于某些原因,如果有超过50-100个域需要检查,脚本写我响应页面不需要写在文件中 这是我的密码: cat./domains/domains.all | sort | uniq>>。/checked/unique.url筛选唯一域 UNIQUE=./checked/UNIQUE.url在变量中添加唯一的域 touch./checked/unresponse.url为无响应的域创建新文件 读p;从$UNIQUE读取行时执行 if ! (dig $p @8.8.
if ! (dig $p @8.8.8.8 | grep "ANSWER SECTION:"); then
echo $p >> ./checked/unresponsive.urls
fi
sleep 5
完成<$UNIQUE
我认为sleep 5会对我有所帮助,但它没有帮助,我也尝试过用python和socket.gethostbyname,但得到了相同的结果
我需要关于最好的方法检查100+或1000+域名,如果他们响应或如果他们注册的建议
建议可以是免费的或付费的API,也可以是任何我如何修复脚本或获取准确数据的想法
unique.url示例:
boutrofing.com
绝对是.net
绝对麦当娜网站
absoluteradio.co.uk
acas.org.uk
accesshollywood.com
鼓掌音乐网
accountkiller.com
acerdirect.co.uk
aceshowbiz.com
阿克沃斯网站
声能公司
action.com
actionfraud.police.uk
activeboard.com
futbol.com
acvm.co.uk
adambowie.com
adamcarolla.com
adamfi.co.uk更新:使用for循环使用唯一变量
使用if/else/fi应该工作
UNIQUE="./checked/unique.urls" #add unique domains in variable
for line in $(cat $UNIQUE); do
if (dig "$line" @8.8.8.8|grep "ANSWER SECTION"); then
echo "OK";
else
echo "$line" >> unresponsive.urls;
fi;
done;
使用您的示例URL
以下是结果
$ sh checkURL.sh
;; ANSWER SECTION:
OK
;; ANSWER SECTION:
OK
;; ANSWER SECTION:
OK
;; ANSWER SECTION:
OK
...
$ cat unresponsive.url
boutroofing.com
ackworth.com
adamfi.co.uk
我可以毫无问题地运行这个脚本并得到结果你不应该把sleep 5放在echo之后吗?你只是在拖延echo,我不认为这是你所期望的。既然你在一个while循环中,我建议把sleep5放到if/fi块之外,顺便问一下,你的脚本中p是什么?谢谢你的建议。正在尝试立即将睡眠置于if/fi中并检查结果。p是来自$UNIQUE变量的行。虽然从$UNIQUE中读取linep中的行…在您发表评论之前,我已经发布了一个答案,但该技术应该同样有效,您也不需要睡觉。如果你能展示包含变量的完整代码,我可以更新我的答案以适合你。现在是完整脚本。这个脚本和我的一样,只是在for循环中。我的是来自$UNIQUE do的while readline…是的,但诀窍是我没有做if!。。。;然后…,我用if。。。;其他的fi;同样,使用睡眠或不睡眠、If/else/fi或in-while、with!或者没有!:我试过用python,bash curl,dig。。。也许通过主机www.domain.com?您可以显示部分您的unique.URL吗?我想知道域名是否不在每行格式中,我将其添加到我的问题中