немного помощи Python - PullRequest
       1

немного помощи Python

1 голос
/ 03 ноября 2010

Мне нужна небольшая помощь, так как я новичок в Python, я пытаюсь сделать хорошее приложение, которое может сказать мне, если мой сайт не работает, а затем отправить его в твиттер.

class Tweet(webapp.RequestHandler):
  def get(self):
    import oauth
    client = oauth.TwitterClient(TWITTER_CONSUMER_KEY,
                                 TWITTER_CONSUMER_SECRET, 
                                 None
                                 )

    webstatus = {"status": "this is where the site status need's to be",
                 "lat": 44.42765100, 
                 "long":26.103172
                 }

    client.make_request('http://twitter.com/statuses/update.json',
                        token=TWITTER_ACCESS_TOKEN,
                        secret=TWITTER_ACCESS_TOKEN_SECRET,
                        additional_params=webstatus,
                        protected=True,
                        method='POST'
                        )
    self.response.out.write(webstatus)


def main():
  application = webapp.WSGIApplication([('/', Tweet)])
  util.run_wsgi_app(application)


if __name__ == '__main__':
  main() 

теперь отсутствует часть проверки веб-сайта, поэтому я очень плохо знаком с python и мне нужна небольшая помощь

любая идея о функции / классе, которая может проверять конкретный URL и код ответа / ошибкиможно отправить в твиттер, используя верхний скрипт

, и мне нужна небольшая помощь при реализации проверки URL в приведенном выше скрипте, это мой первый опыт взаимодействия с python.

если вам интересно, высший класс использует https://github.com/mikeknapp/AppEngine-OAuth-Library lib

cheers

PS: функциональность проверки URL должна основываться на классе urlfetch,безопаснее для Google appengine

Ответы [ 2 ]

3 голосов
/ 04 ноября 2010

Вы можете использовать Google App Engine URL Fetch API.
Функция fetch () возвращает Объект ответа , содержащий HTTP-код статуса.

Просто получите URL-адрес и проверьте статус примерно так:

from google.appengine.api import urlfetch
def is_down(url):
    result = urlfetch.fetch(url, method = urlfetch.HEAD)
    return result.status_code != 200
1 голос
/ 03 ноября 2010

Проверка существования сайта:

import httplib
from httplib import HTTP
from urlparse import urlparse

def checkUrl(url):
    p = urlparse(url)
    h = HTTP(p[1])
    h.putrequest('HEAD', p[2])
    h.endheaders()
    return h.getreply()[0] == httplib.OK

Мы получаем только заголовок данного URL и проверяем код ответа веб-сервера.

Обновление: Последняя строка изменена в соответствии с замечанием Daenyth.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...