有人遇到过 MAX_ENTITY_SIZE 的问题吗?我现在和这个斗争了很长一段时间。我希望我只是在做一些愚蠢的事情,或者有人找到了解决方案。
我在 Ubuntu 64 位最新版本上使用 G-WAN 4.2.7。
这是一个测试用例。只需在 textarea 上粘贴任何文本,然后单击提交。如果它小于 4KB(或小于 3.2KB),它将正常工作。如果它大于 4KB,它将返回 404 未找到,但它应该可以工作,因为我将 MAX_ENTITY_SIZE 设置为 200KB。
#include "gwan.h" // G-WAN exported functions
#include <string.h>
int main(int argc, char *argv[])
{
xbuf_t *reply = get_reply(argv);
int *entity = (int*)get_env(argv, MAX_ENTITY_SIZE);
char *text = NULL;
get_arg("stext=", &text, argc, argv);
if(text) // Check if text exist.
xbuf_xcat(reply, "Text: %s<br/><br/>%d", text, strlen(text));
static char form[] =
"<form method=\"post\">"
"<textarea name=\"stext\"></textarea><br/>"
"<input name=\"button\" type=\"submit\" value=\"Submit\" />"
"</form><br/>Entity Size: %d";
xbuf_xcat(reply, form, *entity);
return 200;
}
不要忘记增加 MAX_ENTITY_SIZE 限制:
int init(int argc, char *argv[])
{
int *entity = (int*)get_env(argv, MAX_ENTITY_SIZE);
*entity = 200 * 1024;
return 0;
}
更新:
在 Ubuntu 10.10 上测试过同样的问题。