Предваряя это текстом «просто еще один новичок». когда вы получаете результат команды whois через команду Popen, как вы проверяете, хорошо ли это?
Обычно, когда Python возвращает список того, что вы можете проверить, его длина обычно достаточна для меня, но это немного более произвольно.
например,
Я тестирую домены в стране происхождения, но иногда домены, которые мне дает gethostbyaddr, не распознаются сервером WHOIS. Итак, я подумал, что в случае неудачи отправлю ему ip, но я закончил этот тест на не менее 70 символов. Просто интересно, знает ли кто-нибудь, каков «стандартный» способ сделать это.
w = Popen(['whois', domain], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
whois_result = w.communicate()[0]
print len(whois_result)
if len(whois_result) <= 70:
w = Popen(['whois', p_ip], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
whois_result = w.communicate()[0]
print len(whois_result)
if len(whois_result) <= 70:
print "complete and utter whois failure, its you isnt it, not me."
test = re.search("country.+([A-Z].)",whois_result)
countryid = test.group(1)