2016-10-25 3 views
0

Я пытаюсь работать с базовым HTTP, используя FastCGI и Nginx в C++. Я нашел ссылку для fastcgi здесь: http://chriswu.me/blog/getting-request-uri-and-content-in-c-plus-plus-fcgi/Как реализовать методы HTTP с помощью fastCGI вместе с nginx?

Но нет четкого различия в методах HTTP, таких как GET и POST. Кроме того, я не могу понять, как перенаправить URL-адрес с помощью fastcgi. P

ответ

0

У меня нет опыта работы с FastCGI и Nginx, но так как я использовал CGI/Apache и взглянул образцы FastCGI, я могу предложить следующие вещи (и риск потерпеть неудачу с ответом):

  • GET-запрос является частью URL-адреса, поэтому я бы проанализировал const char* uri = FCGX_GetParam("REQUEST_URI", request.envp);, чтобы проверить, заданы ли параметры (т. Е. Если после знака вопроса есть пары ключ/значение).
  • Если предыдущее условие является ложным, проверьте, соответствует ли тип материала в заголовке application/x-www-form-urlencoded (что означает POST) и проанализируйте тело запроса HTTP для получения пар ключ/значение. Более подробную информацию об этом можно найти на странице Wikipedia
  • Для выполнения перенаправления используйте example, но измените ответ, чтобы вернуть ответ HTTP-перенаправления, как описано в Wikipedia.

Возможно, fastCGI предлагает более продвинутые функции, поэтому все это может быть достигнуто причудливо.

Смежные вопросы