从Apache CGI Python接收HTTP POST请求的XML内容

2 投票
1 回答
1360 浏览
提问于 2025-04-18 07:04

我现在的任务是搭建一个网络服务器,这个服务器需要能够接收带有XML内容的HTTP POST请求。当收到POST请求后,服务器要解析这个XML内容,并把提取出来的数据插入到数据库中。

我在CentOS上搭建了一个Apache(版本2.2)服务器,并写了一个简单的Python CGI脚本,当收到POST请求时会调用这个脚本。

在这个Python脚本中,我可以通过环境变量访问一些预定义的属性(比如:查询字符串、Cookies等),但是我还没弄明白怎么在Python代码中访问XML内容!

希望大家能告诉我如何在Python CGI脚本中访问XML内容。

<?xml version="1.0" encoding="utf-8"?>
<Events xmlns:i="http://www.w3.org/2001/XMLSchema-instance2" xmlns="http://schemas.datacontract.org/2004/07/foo.Web.Impl.Services.Data">
    <Event>
       <EventType>AORCreated</EventType>
       <EventID>c3a09825-38b6-499f-81fc-9f821e4695ed</EventID>
       <UserID>743d61a2-d8da-431c-8aa4-70912dd00ecb</UserID>
       <LicenseeID>1</LicenseeID>
       <Culture>en-GB</Culture>
       <Properties>
          <Property>
             <Key>AOR</Key>
             <Value>foo@bar.com</Value>
          </Property>
       </Properties>
     </Event>
</Events>

提前谢谢你们,

Prasun

1 个回答

1

这个方法有效

import cgi
form = cgi.FieldStorage()
form.value

form.value 包含了发送请求时的内容

撰写回答