Как получить содержимое почтового запроса HTTPS на стороне сервера? - PullRequest
1 голос
/ 07 марта 2012

У меня есть клиент C, который использует libcurl для отправки XML-пакета на сервер Apache через HTTPS.

некоторые части клиентского кода как:

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 голосов
/ 07 марта 2012

Чтобы получить все, что отправлено (POST) на ваш сервер Apache через файл test.php, вы можете использовать:

<?php
    var_dump($_POST);
?>

Вы также можете использовать $ _GET, если хотите получить все, что передано вURL (например: https://example.com/test.php?myvar=value). Наконец, $ _REQUEST содержит и $ _POST, и $ _GET.

Если вы публикуете переменную с именем myvar через код C, вы можете получить значение в вашемФайл test.php с:

<?php
    print $_POST['myvar'];
?>
0 голосов
/ 07 марта 2012

Я могу быть немного неясным по вашему вопросу, но я предполагаю, что send_buf имеет стандартный формат, то есть

Foo = & бар Баз = & бу х = 17 + кошки + и т.д. * * +1003

В этом случае в принимающем скрипте PHP (test.php) переменная $ _POST будет инициализирована следующим образом:

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

Таким образом, вы можете получить доступ к значению, используя $ _POST ['foo'].

Надеюсь, это поможет.

...