Я собираюсь интегрировать Густаво , проверка состояния HTTP, с телескопом
Сенека-КДОТ/Телескоп
Инструмент для отслеживания блогов на орбите вокруг с открытым исходным кодом Seneca
>>> brew install npm >>> brew install redis >>> brew tap elastic/tap >>> brew install elastic/tap/elasticsearch-full
Теперь вы можете открыть три оконные окна, чтобы запустить свой локальный сервер TeleScope:
>>> Redis-Server
>>> elasticsearch
>>> NPM. Начните
Если все работает правильно, открывая браузер к http://localhost: 3000/посты следует отобразить массив 10 JSON объектов.
[{"id":"979c6d3eb5","url":"/posts/979c6d3eb5"}, {"id":"f1f56132fd","url":"/posts/f1f56132fd"}, {"id":"6413f59523","url":"/posts/6413f59523"}, {"id":"a0d10ce9e7","url":"/posts/a0d10ce9e7"}, {"id":"476491f37d","url":"/posts/476491f37d"}, {"id":"d5eed3b8ec","url":"/posts/d5eed3b8ec"}, {"id":"b1f2991c27","url":"/posts/b1f2991c27"}, {"id":"6fc08da083","url":"/posts/6fc08da083"}, {"id":"1aca420d0f","url":"/posts/1aca420d0f"}, {"id":"6ba1ae431a","url":"/posts/6ba1ae431a"}]
Далее я хотел обновить Густаво Чтобы проверить HTTP-статус вышеуказанных URL. Gustavo работает, поиск через файл для любой строки, которая начинается с Http:// или Https:// и создает список всех матчей. Этот список затем обрабатывается. Я знал, что программа будет работать, если бы я мог изготовить список полностью сформированных URL-адресов от вышеупомянутого JSON.
Я обновил args.py
Чтобы обрабатывать дополнительные флаги -t
или --Телескоп
Отказ
parser.add_argument('-f', '--file', action='store', dest='source', default='', help='location of source file') parser.add_argument('-t', '--telescope', action='store_const', dest='source', const='TELESCOPE', help='check recent posts indexed by Telescope')
Вместо того, чтобы указывать путь к файлу, используя -t
или --Телескоп
Флаги сохранят строку Телескоп к исходной переменной. Программа нормально работает до get_list ()
Функция называется. На данный момент, если значение исходной переменной равен ТЕЛЕСКОП следующий код выполняется.
posts = requests.get('http://localhost:3000/posts') urls = re.findall('/posts/[a-zA-Z0-9]{10}', posts.text) return ['http://localhost:3000' + url for url in urls]
Что оно делает?
- Сначала запрос сделан в API REST Server для постов.
- Далее список URL-адресов, если они созданы, используя регулярное выражение, чтобы найти все уникальные 10-значные идентификаторы.
- Используя понимание списка, домен добавляется к каждому URL.
Теперь Возвращаясь к терминалу, запущенная команда
>>> python gus.py -t
производит следующий вывод:
[GOOD] [200] http://localhost:3000/posts/78e5ab8438 [GOOD] [200] http://localhost:3000/posts/2da60bf766 [GOOD] [200] http://localhost:3000/posts/4a8a76df4a [GOOD] [200] http://localhost:3000/posts/e5f703c004 [GOOD] [200] http://localhost:3000/posts/168346fd63 [GOOD] [200] http://localhost:3000/posts/db7e046128 [GOOD] [200] http://localhost:3000/posts/f87957048e [GOOD] [200] http://localhost:3000/posts/35b33ca432 [GOOD] [200] http://localhost:3000/posts/3555e6f683 [GOOD] [200] http://localhost:3000/posts/868b94d523
Полное сводное изложение изменений, которое я сделал, можно увидеть ниже:
Оригинал: “https://dev.to/slaterslater/gustavo-looks-through-a-telescope-27gc”