| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > проверка загрузки html-странички через Python |
| Автор: pythonwin 31.7.2006, 13:28 |
| Всем привет! Можете помочь? Возможно ли следующее? есть страничка в интернете, которую нужно проверять периодически (загружается/не загружается, итак каждые полчаса). Если страничка не загружается, то нужно отправить сообщение на E-mail. Это реально сделать на питоне? |
| Автор: albertn 2.8.2006, 08:41 | ||
| Я не проверял, но по идее должно работать примерно так, если почтовый сервер находится на локальной машине. Если нет то полистай http://docs.python.org/lib/SMTP-objects.html
|
| Автор: pythonwin 2.8.2006, 09:08 | ||||
albertn, спасибо за пример, но загвоздка в том как отличить работающию страничку от
slav0nic, тоже дал пример:
все работает, но как отличить работающую страничку от страничу с ошибками? мне пока не понятно. |
| Автор: albertn 2.8.2006, 09:21 | ||
я в принципе посмотрел, что функция
|
| Автор: albertn 2.8.2006, 10:41 | ||
Вот новый пример:
|
| Автор: pythonwin 2.8.2006, 11:05 | ||||
| albertn, разбираюсь в твоем варианте, - пожалуйста, подскажи, где указывается smtp-сервер? Добавлено @ 11:16 albertn, ругается
на код:
|
| Автор: albertn 2.8.2006, 11:46 | ||
| Это значит, что на локальной машине не стоит почтового сервера, через который ты хочешь отправить письмо. Я же говорил, что для этого придется поковыряться в настройках http://docs.python.org/lib/SMTP-objects.html сервера. Привожу пример (у меня заработало):
Скорее всего тебе ничего не мешает отправлять сообщение самому себе |
| Автор: pythonwin 2.8.2006, 12:04 | ||
с отправкой я рабобрался, но теперь проблема в том, когда ставишь "http://myweb.ru:8000" програ думает что страница с ошибкой:
страницка http://myweb.ru:8000/index существует. |
| Автор: albertn 2.8.2006, 12:10 |
| а ты посмотри, что за статус ошибки,и желательно пример подобной страницы. |
| Автор: pythonwin 2.8.2006, 12:18 | ||||||
Вот код странички:
conn.getresponse().status просмотреть не получается, т.к. срабатывает
Добавлено @ 12:31 немного изменил код, ошибка не изчезла
|
| Автор: albertn 2.8.2006, 12:39 |
| Для начала мне бы надо потренироваться на "кроликах". А то мне содержимое страницы ни о чем не говорит. И еще попробуй убрать try и покажи Traceback |
| Автор: pythonwin 2.8.2006, 12:47 | ||
| Traceback (most recent call last): File "C:\test2\url_smtp_alien.py", line 39, in ? run() File "C:\test2\url_smtp_alien.py", line 22, in run conn.request("GET", "/index") File "C:\Python24\lib\httplib.py", line 801, in request self._send_request(method, url, body, headers) File "C:\Python24\lib\httplib.py", line 824, in _send_request self.endheaders() File "C:\Python24\lib\httplib.py", line 795, in endheaders self._send_output() File "C:\Python24\lib\httplib.py", line 676, in _send_output self.send(msg) File "C:\Python24\lib\httplib.py", line 643, in send self.connect() File "C:\Python24\lib\httplib.py", line 611, in connect socket.SOCK_STREAM): socket.gaierror: (11001, 'getaddrinfo failed') код:
|
| Автор: albertn 2.8.2006, 12:56 |
| Если ты пытался открыть страницу на сайте http://www.myweb.ru:8000, то ты слегка ошибся. На сколько я понял этот сайт внутрисетевой, и из вне он не открывается, а подхватывается он через какой-нить ДНС сервер. А как ты думаешь, питон знает о реальном месте расположения сервера? мож попробовать использовать вместо него IP? |
| Автор: pythonwin 2.8.2006, 13:19 | ||||
Нормально работает, но только когда пытаешься проделать такую же шутку со страницкой, которая защищена паролем.
Что можно сделать? |
| Автор: albertn 2.8.2006, 13:35 |
| 403 - стандартная ошибка доступа на защищенную паролем страницу. Есть несколько вариантов в зависимости от того, что тебе надо А действительно ли тебе нужна информация именно про эту страницу? Не будет ли достаточным удостовериться, что страница запаролена, и возвращает ответ? Ты действительно хочешь, чтобы программа вводила имя и пароль для данной страницы и на нее заходила? Не глупо ли это? PS. Если не секрет, а зачем тебе это надо? |
| Автор: pythonwin 2.8.2006, 14:46 | ||||||
Сделал:
Добавлено @ 14:48 albertn, БОльшущее тебе спасибо! Выдал сразу несколько вариантов, - ещё раз спасибо! И соответственно плюс! Добавлено @ 14:56
За это тоже полагается отдельный плюс, но придется подождать день - два. |
| Автор: albertn 2.8.2006, 15:04 |
| Собсно я на работе в основном занимаюсь вебом, почтой и т.д., поэтому большой опыт в этой сфере. К тому-же большенство блоков кода я взял из оригинальной документации. PS. Вегда рад помочь в том, в чем разбираюсь |
| Автор: albertn 3.8.2006, 08:26 | ||
Я из Ставрополя, а ты? Уже посмотрел, можешь не отвечать |
| Автор: albertn 21.8.2006, 09:17 | ||
оооооооооооооооочень мало. Больше требуются, чем имеются. |
| Автор: albertn 21.8.2006, 10:04 |
| За сех сразу ответить не смогу. Вот к примеру у нас в городе 350 тыс человек. Без понятия каков из них процент программистов. У меня в круге общения почти все программисты. Где-то из 50 знакомых программистов питон помимо меня знает еще один человек (мой коллега). А большинство остальных даже не слышали о нем (как и я год назад). Вне моей работы я не встречал программистов на питоне, а на нашей работе достаточно двоих. Делай выводы. |
| Автор: albertn 21.8.2006, 10:45 |
| Двое взялись изучать |
| Автор: albertn 21.8.2006, 11:19 |
| Зато я в моем небольшом городке встретил объяву: Требуется программист на Python. Зарплата от 10 тыс. р. Несколько типов задумались. А вообще если посмотреть среди знакомых студентов в питоне разбираюсь только я. Остальные уже закончили. PS. извеняюсь за |
| Автор: albertn 21.8.2006, 12:05 | ||
Ну как сказать, у нас то и за 10 можно прожить без проблем, но если эти программисты 1С получают от 20, тогда мало. А работы у нас нет, придется валить отсюда пока не поздно (или достойную работу предложат). |
| Автор: setq 21.8.2006, 15:04 |
| Модератор: Давайте вернёмся к теме обсуждения. ...личное общение лучше в ПМ |