如何在服务器端获取HTTPS发布请求的内容?

时间:2012-03-07 01:44:17

标签: php apache post https

我有一个C客户端,它使用libcurl通过HTTPS将xml数据包发送到Apache服务器。

客户端代码的某些部分为:

curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/test.php");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, send_buf);
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, strlen(send_buf));
curl_easy_setopt(curl, CURLOPT_POST, 1L);
res = curl_easy_perform(curl);

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

任何示例代码?

2 个答案:

答案 0 :(得分:0)

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

富=栏&安培;巴兹=嘘声&安培; X = 17 + +猫等

在这种情况下,在接收PHP脚本(test.php)中,$ _POST变量将按如下方式初始化:

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

所以你可以使用$ _POST ['foo']来访问一个值。

希望有所帮助。

答案 1 :(得分:0)

要通过test.php文件获取发送(POST)到Apache服务器的所有内容,您可以使用:

<?php
    var_dump($_POST);
?>

如果你想在URL中传递所有内容(例如:https://example.com/test.php?myvar=value),你也可以使用$ _GET。最后,$ _REQUEST包含$ _POST和$ _GET。

如果您通过C代码发布名为myvar的变量,则可以使用以下命令检索test.php文件中的值:

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