2011-02-03 48 views
0

你好 我正在使用一個遺留系統,一個ASP.NET應用程序通過curl.exe將一個XML文件發佈到服務器(這個URL可以通過.config文件配置)。在linux下編寫一個curl代理

現在由於傳統系統的侷限性,我需要將這個XML發佈到我的ubuntu服務器上,方法是更改​​上述.congfig文件,根據需要修改接收到的XML,最後將其發佈到真實服務器上。

這怎麼辦?我的猜測是在apache2服務器上運行的php或python腳本,聆聽帖子。一旦收到XML文件,對文件進行必要的修改併發布到真實捲曲服務器。

通過php或python,如何做到這一點?

回答

1

由於ASP.NET應用程序發佈XML,您只需處理普通POST請求,修改XML以符合您的要求,並使用cURL將其發佈到真正的cURL服務器。在PHP中,它會是這個樣子(或多或少元代碼,錯誤檢查和需要額外的邏輯):

$xml = $_POST['xml']; 
// do something with posted XML 
..... 
// post it to the "real" cURL server 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, array('xml' => $xml)); 
$result = curl_exec($ch); 
curl_close($ch); 

這就是它,檢查cURL documentation和使用什麼是必要的POST到您的服務器工作,你們都很好。