一点python的帮助

时间:2010-11-03 18:03:11

标签: python google-app-engine

我需要一点帮助,因为我是python的新手,我正在尝试做一个不错的应用程序,可以告诉我我的网站是否已关闭,然后将其发送到Twitter。

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非常新,我需要一些帮助

任何可以检查特定网址的功能/类的想法,并且可以使用上面的脚本将答案/错误代码发送到Twitter

我需要一些帮助来实现上面脚本中的url检查,这是我第一次与python交互。

如果你想知道,上层阶级使用https://github.com/mikeknapp/AppEngine-OAuth-Library lib

欢呼声

PS:网址检查功能需要基于urlfetch类,对谷歌appengine更安全

2 个答案:

答案 0 :(得分:3)

您可以使用Google App Engine URL Fetch API fetch()函数返回包含HTTP status_code的Response object

只需获取网址并使用以下内容检查状态:

from google.appengine.api import urlfetch
def is_down(url):
    result = urlfetch.fetch(url, method = urlfetch.HEAD)
    return result.status_code != 200

答案 1 :(得分:1)

检查网站是否存在:

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的标题并检查Web服务器的响应代码。

更新:根据Daenyth的评论修改最后一行。