it计算机]mod_python_328中文手册内容摘要:
_REQUEST_TIME_OUT 408 HTTP_CONFLICT 409 HTTP_GONE 410 HTTP_LENGTH_REQUIRED 411 HTTP_PRECONDITION_FAILED 412 HTTP_REQUEST_ENTITY_TOO_LARGE 413 HTTP_REQUEST_URI_TOO_LARGE 414 HTTP_UNSUPPORTED_MEDIA_TYPE 415 HTTP_RANGE_NOT_SATISFIABLE 416 HTTP_EXPECTATION_FAILED 417 HTTP_UNPROCESSABLE_ENTITY 422 HTTP_LOCKED 423 HTTP_FAILED_DEPENDENCY 424 HTTP_INTERNAL_SERVER_ERROR 500 HTTP_NOT_IMPLEMENTED 501 HTTP_BAD_GATEWAY 502 HTTP_SERVICE_UNAVAILABLE 503 HTTP_GATEWAY_TIME_OUT 504 HTTP_VERSION_NOT_SUPPORTED 505 HTTP_VARIANT_ALSO_VARIES 506 HTTP_INSUFFICIENT_STORAGE 507 HTTP_NOT_EXTENDED 510 可以通过抛出 ,并将 HTTP错误码作为异常的参数。 例如: raise , 处理器可以通过 ()方法将文档发送到客户端。 客户端提交的数据可以通过 ()读取。 注意: Python*Handler所在的目录必须已经在 ,如果没有在Directory配置段指定则不会在。 一个 请求处理器的例子: from mod_python import apache def requesthandler(req): =39。 text/plain39。 (39。 Hello World!39。 ) return (filter)处理器 过滤处理器可以改变服务器的输入和输出。 分两种:输入和输出的过滤。 现在mod_python仅提供请求级别 (requestlevel)的过滤器,就是 HTTP的请求和回应体可以被过滤。 未来的 apache将 会提供连接级别 (connectionlevel)的过滤器。 过滤处理器接收一个 filter对象做参数,请求对象可经由此得出 ,但是所有的读写动作必须经由 filter的方法。 过滤器在读到 None时需要被关闭,代表流的结束。 过滤器的返回值将会被忽略,但可用 ()方法达到同样的效果。 过滤器必须一开始就注册为 PythonInputFilter或 PythonOutputFilter,然后添加到 apache的配置标志 Add/SetInputFilter或 Add/SetOutputFilter。 如下例子把所有 .py结尾文件用 CAPITALIZE过滤器处理,如下是配置: PythonOutputFilter capitalize CAPITALIZE AddOutputFilter CAPTITALIZE .py 如下是文件 : from mod_python import apache def outputfilter(filter): s=() while s: (()) s=() if s is None: () 书写过滤器时应该注意到过滤器随时都会被调用。 过滤器无法控制数据的总量,也无法确定请求何时调用。 比如对于一个请求,过滤器可能会执行一次或五次,并无法知晓调用何时结束和先后顺序。 从一个 read操作返回的 EOS代表请求的结束。 过滤器也可能在子请求的递归调用中。 为避免数据多次被改变,经常的确保并不在子请求中,依靠。 (connection)处理器 连接处理器处理连接到服务器的 TCP连接。 不同于 HTTP处理器,连接处理器接收connection对象做参数。 连接处理器可以用于实现协议。 如下例配置: PythonConnectionHandler echo 实现文件 : from mod_python import apache def connectionhandler(conn): while 1: (()) return Apache内部 apache内部对 Python的接口也恰好叫做 apache, 在 mod_python包。 提供了连接 apache内部的重要功能,比如有用的函数,文档等 (request对象也提供访问 Apache内部的接口,但不在本节 )。 apache模块仅可作为 mod_python下的一个脚本来导入,因为它依赖于mod_python内建的 _apache模块。 最好按照如下导入: from mod_python import apache ,更多深入的信息查看 Apache文档。 log_error(message[,level,server]) Apache函数 ap_log_error()的接口, message是错误信息, level是如下值: APLOG_EMERG APLOG_ALERT APLOG_CRIT APLOG_ERR APLOG_WARNING APLOG_NOTICE APLOG_INFO APLOG_DEBUG APLOG_NOERRNO server是。 如果没有指定则写入到缺省的日志,否则写入到对应虚拟服务器的日志中。 当 server没有指定时,日志级别也无效,日志级别是 d在编译时指定的,经常为 warn。 如果拥有请求对象的引用,最好用 ,这样将会存入请求相关信息,如源 IP等。 import_module(module_name[,autoreload=1,log=0,path=None]) mod_python的内部高级特性,用于在模块改变时自动重新载入模块。 module_name是模块名,可以包含点的包名。 autoreload标志查看包是否有所改变,如果改变则自动重新载入。 如果 log为 True则这个事件会记入日志。 path严格指定模 块的位置。 例子: from mod_python import apache mymodule=(39。 mymodule39。 ,log=1) allow_methods([*args]) 用于设置。 ,对应 39。 Allow:39。 头。 可以在返回 HTTP_NOT_IMPLEMENTED错误之前设置。 参数如下: M_GET M_PUT M_POST M_DELETE M_CONNECT M_OPTIONS M_TRACE M_PATCH M_PROPFIND M_PROPPATCH M_MKCOL M_COPY M_MOVE M_LOCK M_UNLOCK M_VERSION_CONTROL M_CHECKOUT M_UNCHECKOUT M_CHECKIN M_UPDATE M_LABEL M_REPORT M_MKWORKSPACE M_MKACTIVITY M_BASELINE_CONTROL M_MERGE M_INVALID exists_config_define(name) 确定 Apache是否存在一个 name配置。 比如 Apache定义了 DFOOBAR则如下测试为真: (39。 FOOBAR39。 ) register_cleanup(handler[,data]) 注册一个清除行为,等同于 ()或(),除非服务器或请求对象不需要。 config_tree() 返回服务器级 (serverlevel)配置树。 这些配置不包含 .htaccess文件的标志。 返回的是副本,修改对配置没有效果。 server_root() 返回配置标志 39。 ServerRoot39。 的值。 make_table() 一个作废的函数,可用 table代替。 mpm_query(code) 允许查询 MPM参数变量来处理线程。 返回值是如下三种常量之一: AP_MPMQ_NOT_SUPPORTED=0 指 MPM支持线程或子进程 AP_MPMQ_STATIC=1 指 MPM正在使用静态守护线程 AP_MPMQ_DYNAMIC=2 指 MPM正在使用动态守护线程 code参数是如下值: AP_MPMQ_MAX_DAEMON_USED=1 最大允许使用的守护线程数量 AP_MPMQ_IS_THREADED=2 MPM是否允许使用线程 AP_MPMQ_IS_FORKED=3 MPM是否可用 fork生成子进程 AP_MPMQ_HARD_LIMIT_DAEMONS=4 编译时允许的最大守护进程数量 AP_MPMQ_HARD_LIMIT_THREADS=5 编译时允许最大线程数量 AP_MPMQ_MAX_THREADS=6 threads/child配置允许的最大线程数量 AP_MPMQ_MIN_SPARE_DAEMONS=7 最小剩余守护数 AP_MPMQ_MIN_SPARE_THREADS=8 最小剩余线程数 AP_MPMQ_MAX_SPARE_DAEMONS=9 最大剩余守护数 AP_MPMQ_MAX_SPARE_THREADS=10 最大剩余线程数 AP_MPMQ_MAX_REQUESTS_DAEMON=11每个守护最大允许请求数量 AP_MPMQ_MAX_DAEMONS=12 配置允许的最大守护数量 例如: if (): do something else: do something else (mp_table) class table([mappingorsequence]) 返回一个新的 mp_table表格对象。 mappingorsequence提供了表格的初始化数据。 表格对象是对 APR表格对象的包装 (wrapper)。 表格对象的行为 (behave)非常像词典 (还支持 in操作符 ),但是有以下不同: 键和值都必须是字符串 键的查询不区分大小写 允许相同的键,即一个键对应一个列表的值 很多 apache的信息存储在表格中,如。 mod_python提供的所有表格对象都是真正 (actual)映射 (mapping)到 apache结构的,所以改变表格的值也会改变 apache的表格。 除了 (in addition to)像词典一样的行为 (behavior)之外,表格对象还支持如下操作: add(key,val) 这个方法允许使用相同的键,这对重复的头很有用,比如 SetCookie:就需要。 这个功能从。 请求对象是映射 到 apache的 request_rec结构的对象。 当处理器被调用时,会传递唯一个的一个参数就是请求对象。 可以为请求对象指定属性,用于在处理器之间通信。 如下是方法: add_mon_vars() 间接调用 ap_add_mon_vars()函数。 调用后, 大量的 CGI信息。 add_handler(htype,handler[,dir]) 允许动态注册处理器。 htype是要添加的处理器的标志,如 39。 PythonHandler39。 ,但不可以是过滤器 (filter)或 连接 (connection)。 handler是包含模块名或函数名的处理器函数。 可选参数 dir是需要添加到 pythonpath环境变量的路径。 如果未指定目录,而且有同类型的处理器,则继承路径,否则用前一路径。 如果有 PythonPath标志存在,则。 通过这种方式添加的处理器生存期为这个请求。 为同一个类型添加多个处理器是很有用的,不过要注意避免死循环 (infinite loop)。 动态注册处理器是一种很有用的技术,比如用于 PythonAuthenHandler,可以为不同的认证级别 指定不同的权限。 如: if manager: (PythonHandler,menu::admin) else: (PythonHandler,menu::basic) 注意,如果传递了一个无效处理器,则会在寻找处理器时发生异常。 allow_methods(methods[,reset]) 添加方法到。 这个列表将会允许传递,在头部指定HTTP_METHOD_NOT_ALLOWED或 HTTP_NOT_IMPLEMENTED返回到客户端。 注意 apache并不会对这些方法起作用。 这个列表仅仅用于构造头部。 实际的方法处理逻辑在处理器代码中提供。 methods是一个字符串列表,如果 reset设置为 1,则列表会被清空。 document_root() 返回 DocumentRoot设置 get_basic_auth_pw() 返回简单认证时的密码字符串 get_config() 返回包含 mod_python配置的表格对象的引用,用于当前请求,除了Python*Handler和 PythonOption(可 以通过 ()获得 )。 表格包含键,和值列表。 get_remote_host([type,str_is_ip]) 用于查询客户端的 DNS名和 IP地址。it计算机]mod_python_328中文手册
相关推荐
的 Online RAID Group Expansion 功能可以保证在线的将新增加的磁盘加入 RAID 组中,如下图可以增加 3 块磁盘使原 RAID6 的 3D+2P 改变为 6P+2P,这些变化可以在线进行,同时 RAID 还自动实现 restripe,即条带数据重新打散分配到更多的磁盘中,使容量提升的同时,性能也得到了更大的提升。 LUN的扩展和缩小 阵列系统都会有一个内部管理核叫做
2aa 将文件中的网关 IP 地址和 MAC地址更改为您自己的网关 IP地址和 MAC 地址即可。 将这个批处理软件拖到“ windows开始 程序 启动”中。 3)如果是网吧,可以利用收费软件服务端程序( pubwin 或者万象都可以)发送批处理文件 到所有客户机的启动目录。 Windows2020 的默认启动目录为“ C:\Documents and SettingsAll
fo)。 if (lUserID 0) { printf(Login error, %d\n, NET_DVR_GetLastError())。 NET_DVR_Cleanup()。 return。 } // //设置异常消息回调函数 中国电子科技集团公司第三研究所 15 / 83 NET_DVR_SetExceptionCallBack_V30(0, NULL
HDX MediaStream和HDX Adaptive Orchestration什么关系。 HDX Adaptive Orchestration的SmartRendering特性能智能的判断当前的网络带宽情况,同时还能判断客户端是否能够进行播放。 3.Windows包含的解码器Format TypeWindows XP ProfessionalWindows 2000
1、 设 计专 业: 通信工程 班级学号: 通信 0303 17 学生姓名: 张华夏 指导教师: 许书云 高级工程师 二七 年 六 月天津工程师范学院本科生毕业设计无线调频发射器的设计信 0303 班学生姓名:张华夏指导教师:许书云 高级工程师系 别:电子工程系2007 年 6 月摘 要利用无线通信信道的远距离语音传输业务,是近年来发展很快的一门技术。 由于语音业务对误码不敏感