好吧,我知道在问这里之前我应该尝试了很多,但我的问题是。很难获得 fcgi 文档的结构化参考。所以我希望你不会那么反对我,即使在缺乏自学方面也是如此。
我正在尝试找到一种方法来归档请求客户端的 IP。
我猜(如果我理解正确的话)我可以通过 FCGX_stream 句柄请求连接的 HTTP 标头。但如果有的话,我更喜欢一种更简单的方法。
我的第一次尝试是检查getenv
第一个 fcgi 教程中提供的内容,但正如我在此处描述的那样尝试它:
https://stackoverflow.com/a/4107212/2003898
它编译得很好,但在第一次请求时,我的 fcgi 应用程序就崩溃了。(但无论如何它都不能解决我的问题,因为我发现 get env 只是在请求我的,所以主机的,env 的)
我也在尝试使用
*FCGX_GetParam(const char *name, FCGX_ParamArray envp);
功能。但是,要么我使用起来很愚蠢,要么它也只是提供我的本地环境,而不是 POST 方面的环境。
因此,如果有人能告诉我如何访问这些数据(最好不从 HTTP 标头中提取)或如何使用FCGX_GetParam
它来访问它,我将不胜感激。
编辑:
#include "fcgi_stdio.h"
#include <stdlib.h>
int main()
{
int count = 0;
while(FCGI_Accept() >= 0)
{
for (count = 0; environ[count] != NULL; count++)
{
printf("%s\n", environ[i]);
}
}
return 0;
}