python+apache的服务器搭建问题

在尝试用Python+Apache搭建服务器时,遇到POST请求Content-Type为'application/octet-stream'时返回501错误。分析mod_python.util.py脚本发现publisher不支持此类型。改用自定义handler后,所有请求被同一handler处理,为解决多脚本服务问题,采用handler总控动态设置PythonHandler。参考解决方案可在index.py中查看。
摘要由CSDN通过智能技术生成

最近使用python+apache搭建服务器,发现一个问题:对于POST请求+application/octet-stream的Content-Type,服务器总是返回501错误。

后来查看了mod_python/util.py脚本,发现设置的PythonHandler是mod_python.publisher,对于POST请求,其Content-Type有约束条件:

109        if req.method != "POST":
110            return
111 
112        try:
113            clen = int(req.headers_in["content-length"])
114        except (KeyError, ValueError):
115            # absent content-length is not acceptable
116            raise apache.SERVER_RETURN, apache.HTTP_LENGTH_REQUIRED
117 
118        if not req.headers_in.has_key("content-type"):
119            ctype = "application/x-www-form-urlencoded"
120        else:
121            ctype = req.headers_in["content-type"]
122 
123        if ctype.startswith("application/x-www-form-urlencoded"):
124            pairs = parse_qsl(req.read(clen), keep
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值