在linux下编写curl代理

时间:2011-02-03 13:51:01

标签: php python curl

您好 我正在使用遗留系统,其中ASP.NET应用程序通过curl.exe将XML文件发布到服务器(此发送的URL可通过.config文件进行配置)。

现在由于遗留系统限制,我需要通过更改所述.congfig文件将此XML发布到我的ubuntu服务器,根据需要修改收到的XML,最后将其发送到真实服务器。

如何做到这一点?我的猜测是在apache2服务器,监听帖子下运行的php或python脚本。收到xml文件后,对文件进行必要的修改并发布到真正的curl服务器。

通过php或python,如何做到这一点?

1 个答案:

答案 0 :(得分: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所需的内容来处理你的服务器,你的一切都很好。