嗯,我知道在问这里之前我应该尝试过很多,但我的问题是。很难得到fcgi文档的结构化参考。所以我希望你不会那么沮丧,即使是在缺乏自学的方面。
我正在尝试找到一种存档请求客户端的IP的方法。
我猜(如果我理解的话)我可以通过FCGX_stream句柄请求连接的HTTP头。但如果有的话,我宁愿选择更简单的方法。
我的第一次尝试是检查第一个fcgi教程中提供的getenv
,但正如我在此处所描述的那样:
https://stackoverflow.com/a/4107212/2003898
它编译得很好,但在第一次请求时我的fcgi应用程序崩溃了。 (但是无论如何它都无法解决我的问题,因为我发现get env只是请求我,所以主持人,env's)
我也在尝试使用
*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;
}
答案 0 :(得分:2)
使用getenv("REMOTE_ADDR")
远程IP地址无论如何都不包含在HTTP标头中