如何从Apache https服务器端通过脚本获取https post请求的内容

问题描述:

我有一个C客户端,它使用libcurl通过HTTPS将xml数据包发送到Apache服务器。如何从Apache https服务器端通过脚本获取https post请求的内容

客户端代码的某些部分:

curl_easy_init();

curl_easy_setopt(卷曲,CURLOPT_URL, “https://example.com/test.php”);

curl_easy_setopt(卷曲,CURLOPT_POSTFIELDS,send_buf);

curl_easy_setopt(卷曲,CURLOPT_POSTFIELDSIZE,strlen的(send_buf));

curl_easy_setopt(卷曲,CURLOPT_POST,1L);

解析度= curl_easy_perform(卷曲);

send_buf的内容发送到https apache服务器(https://example.com/test.php),但在Apache服务器端,我怎样才能使用test.php来获取send_buf的内容?欢迎任何其他脚本。谢谢

任何示例代码?

+0

不明白为什么你问这句话,如果你没将是很好“T。谢谢。 – Kev 2012-03-07 23:24:40

我可能是你的问题有点不清楚,但我假设send_buf是标准格式,即

富=酒吧&巴兹=嘘声& X = 17个+猫+等

在这种情况下,在你接收PHP脚本(test.php的)在$ _ POST变量将被如下初始化:

$_POST['foo'] = "bar" 
$_POST['baz'] = "boo" 
$_POST['x'] = "17 cats etc" 

所以,你可以用$ _ POST [“富”]访问值。

希望有所帮助。

+0

我想我需要改变这个问题:如何使用cgi .c代码获取send_buf内容。我想在apache/var/www/cgi-bin /中使用c代码来获取POST请求数据。任何示例C代码? – mzzhmh 2012-03-07 04:08:48

+0

听起来这不是一个真正的PHP相关问题。以下是通过C中的CGI处理POST请求的一些文档:http://www.cs.tut.fi/~jkorpela/forms/cgic.html#post - 基本上POST数据发送到程序的标准输入。 C中不再使用“传统”的CGI了...... – Clark 2012-03-07 15:59:58

要获得通过您的test.php文件发送(POST)到您的Apache服务器的一切,你可以使用:

<?php 
    var_dump($_POST); 
?> 

你也可以使用$ _GET,如果你想获得一切都在传递URL(例如:https://example.com/test.php?myvar=value)。最后,$ _REQUEST包含$ _POST和$ _GET。

如果您发布通过你的C代码调用myvar变量,你可以检索你test.php的文件中的值:

<?php 
    print $_POST['myvar']; 
?>