2014-05-20 126 views
2

我的任务是设置一个监听包含xml内容的传入HTTP POST请求的web服务器。在收到POST请求后,Web服务器应解析XML内容并将提取的数据插入到数据库中。接收来自apache的http post请求的xml内容python

我已经在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>[email protected]</Value> 
      </Property> 
     </Properties> 
    </Event> 
</Events> 

由于提前, Prasun

回答

1

这个做到了

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

form.value包含POST请求体的内容