WSGI.应答可迭代对象

如果上一个脚本工作正常,将返回语句从

return [response_body]

改成

return response_body

然后再次运行它。注意到它变慢了吗?这样的话,服务器会迭代这个字符串,每次向客户端发送一个字节。所以不要忘记将应答封装在一个有更好性能的可迭代对象里,比如列表。


如果可迭代对喜爱那个产生多于一个的字符串,conten-length僵尸所有字符串长度的和,像下面这个脚本:

from wsgiref.simple_server import make_server

def application(environ, start_response):

    response_body = ['%s:%s' %(key, value) for key, value in sorted(environ.items())]

    response_body = '\n'.join(response_body)

    response_body = ['The Beggining\n', '*'*30+'\n', response_boday, '\n'+'*'*30,'\nThe End']

    # 所以conten-length就是所有字符串长度的和了

    content_length = 0

    for s in response_boday:

        content_length += len(s)

    status = '200 OK'

    response_headers = [('Content-Type', 'text/plain'), ('Content-Length', str(content_length))]

    start_response(status, response_headers)

    return response_body

httpd = make_server('localhost', 8051, application)

httpd.handle_request()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值