zoukankan      html  css  js  c++  java
  • 我的第一个BAE python应用

     

     

    第一步 用baidu帐号登陆开发者中心

    http://developer.baidu.com/

    Baidu的引导,帮助说明已经很详细, 这里不重复。 

     

     

     

    第二步,创建新版本

     

     

    svn  check out 代码下来,注意svn版本要使用1.6版本,我用了最新的版本1.8.1,总是连接不上,因为baidu服务器上的svn版本也是1.6的。

     

    Check out下来会有3个文件,如下图

     

     

     

    点击上图中的“预览”按钮,效果如下图

     

    第三步 修改一下index.py文件,提交代码

     

     

    #-*- coding:utf-8 -*-
    #index.py
    #@author:huangyanqiang
    
    from urllib import quote
    from bae.core.wsgi import WSGIApplication
    
    
    '''
    @note 一个实现了__call__()方法的callable对象。它接受两个输入参
    @param environ       第一个参数environ是dict类型,它包含了一次HTTP请求相关的环境信息
    @param start_response 第二个参数start_response是一个函数类型,应用调用这个函数来返回适当的HTTP响应码和HTTP响应header
    @return application()的返回值是一个Iterable的对象。Iterable对象指的是可以进行遍历操作的对象
    '''
    def app(environ, start_response):
        #获取请求地址
        url = environ['wsgi.url_scheme']+'://'
    
        if environ.get('HTTP_HOST'):
            url += environ['HTTP_HOST']
        else:
            url += environ['SERVER_NAME']
    
            if environ['wsgi.url_scheme'] == 'https':
                if environ['SERVER_PORT'] != '443':
                   url += ':' + environ['SERVER_PORT']
            else:
                if environ['SERVER_PORT'] != '80':
                   url += ':' + environ['SERVER_PORT']
    
        url += quote(environ.get('SCRIPT_NAME', ''))
        url += quote(environ.get('PATH_INFO', ''))
        if environ.get('QUERY_STRING'):
            url += '?' + environ['QUERY_STRING']
    
        #返回请求
        status = '200 OK'
        headers = [('Content-type', 'text/html')]
        start_response(status, headers)
        body=["Welcome to Baidu Cloud!</br>",url]
        return body
    
    
    application = WSGIApplication(app)

    再次访问: http://0.pythonworld2013.duapp.com/?word=apple

    输出:

    Welcome to Baidu Cloud!

    http://0.pythonworld2013.duapp.com/?word=apple

  • 相关阅读:
    【leetcode❤python】 374. Guess Number Higher or Lower
    【leetcode❤python】 8. String to Integer (atoi)
    【leetcode❤python】 438. Find All Anagrams in a String
    【leetcode❤python】 88. Merge Sorted Array
    【leetcode❤python】 225. Implement Stack using Queues
    【leetcode❤python】 58. Length of Last Word
    463:归档和传输文件
    438:管理网络
    365:查看系统日志条目
    350:描述系统日志架构
  • 原文地址:https://www.cnblogs.com/lovemory/p/3240396.html
Copyright © 2011-2022 走看看