【发布时间】:2013-10-10 19:51:58
【问题描述】:
好吧,我知道在问这里之前我应该尝试很多,但我的问题是。很难获得 fcgi 文档的结构化参考。所以我希望你不会那么反对我,即使是在缺乏自学方面。
我正在尝试找到一种方法来归档请求客户端的 IP。
我猜(如果我理解正确的话)我可以通过 FCGX_stream 句柄请求连接的 HTTP 标头。但如果有的话,我更喜欢更简单的方法。
我的第一次尝试是检查第一个 fcgi 教程中提供的 getenv,但正如我在此处描述的那样:
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;
}
【问题讨论】:
-
我会建议从
REMOTE_ADDR环境变量中获取它。也许您可以显示访问环境的代码,我们可以找出它崩溃的原因?它应该是直截了当的。