2014-05-20 166 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請求體的內容