Я пишу свой собственный байт-менеджер на python, и я тестирую его на своем веб-сервере в безопасной и защищенной среде. Этот сценарий в основном пытается получить общие каталоги с данного веб-сайта, и, глядя на код состояния HTTP ответа, он может определить, доступна ли страница или нет.
В начале, сценарий читает файл, содержащий все интересные каталоги смотрел снизу вверх, а затем запросы сделаны, следующим образом:python http status code
for dir in fileinput.input('utils/Directories_Common.wordlist'):
try:
conn = httplib.HTTPConnection(url)
conn.request("GET", "/"+str(dir))
toturl = 'http://'+url+'/'+str(dir)[:-1]
print ' Trying to get: '+toturl
r1 = conn.getresponse()
response = r1.read()
print ' ',r1.status, r1.reason
conn.close()
Затем ответ анализируется и если код статуса равное «200», тогда страница доступна. Я реализовал все это следующим образом:
if(r1.status == 200):
print '\n[!] Got it! The subdirectory '+str(dir)+' could be interesting..\n\n\n'
Все кажется хорошо для меня исключением того, что скрипт отмечает, как доступные страницы, которые на самом деле таковыми не являются. Фактически, алгоритм собирает единственные страницы, которые возвращают «200 OK», но когда я вручную просматриваю, чтобы проверить те страницы, которые я узнал, они были перемещены навсегда или у них ограниченный доступ. Что-то пошло не так, но я не могу определить, где мне исправить код точно, любая помощь приветствуется.
Большое спасибо, я сделаю его более читаемым, и я постараюсь решить проблему, глядя на вашу реализацию. – user1405417
Я пытаюсь использовать пример, который вы только что мне показали, когда я делаю запросы в Google, я всегда получаю: 400 плохой запрос при использовании вашего кода. Я получаю код состояния, который вы написали в этом сообщении. Не знаю, что не так. .maybe Мне что-то не хватает где-то. Если вы хотите взглянуть на основную часть кода, здесь: [link] (http://pastebin.com/VaAb18uX) – user1405417
Я взял ваш скрипт и начал играть вокруг с ним я изменил способ восстановления каталогов, и я использовал: «для каталога в fileinput.input (« utils/Directories_Common.wordlist »):« так как у меня есть все каталоги, перечисленные в этом файле .. с эта модификация, я всегда получаю 400 плохих запросов ... – user1405417