Возможно, заголовок моего вопроса отличается от содержания вопроса.
statuscode = []
statuscode.append(200)
for x in find_from_sublister(hostname):
x2 = x.strip()
url = "http://"+ x2
try:
req = requests.get(url)
req1 = str(req.status_code) + " " + str(url) + '\n'
req2 = str(req.status_code)
req3 = str(url)
dict = {req2 : req3}
print " \n " + str(req1)
except requests.exceptions.RequestException as e:
print "Can't make the request to this Subdomain " + str(url) + '\n'
for keys, values in dict.iteritems():
print "finding the url's whose status code is 200"
if keys == statuscode[0]:
print values
else:
print "po"
Я использую код для выполнения следующих действий.
- Он найдет субдомены изПодсписок (локально)
- Затем он будет искать код состояния каждого поддомена, который был найден подсписком, с помощью для цикла .
for x in find_from_sublister(hostname):
Примечание: find_from_sublister (имя хоста) - это функция для поиска субдомена из сублистера.
Затем напечатайте код состояния с URL.Здесь
print " \n " + str(req1)
[Все идет хорошо, но проблема начинается здесь]
Теперь мне нужно отделить URL-адреса, имеющие 200 кодов состояния.
, поэтому я слышал, что это может произойти с помощью словаря в Python.Итак, я пытаюсь использовать словарь.Как вы можете видеть dict = {req2 : req3}
Теперь я также создаю список индексов со значением 200
Затем я сравниваю ключи со списком индексов.здесь keys == statuscode[0]
, и если они совпадают, то он должен напечатать все URL, которые имеют код состояния 200.
Но результат, который я получаю, ниже,
finding the url's whose status code is 200
po
Вы видите значение po
его другое значение оценки,
else:
print "po"
Теперь проблема в том, почему я получаю это другое значение, а не URL-адреса с кодом состояния 200?
Надеюсь, я объяснил вам ясноИ жду кого-то, кто поговорит со мной об этом.
Спасибо
Примечание: я использую Python 2.7 ver.