Ath*_*ick 9 c forms environment-variables http-post cgi-bin
我正在尝试使用用C编写的程序从html表单中检索POST数据.
目前我正在使用:
char *formdata = getenv("QUERY_STRING");
if(formdata == NULL) /* no data retrieved */
Run Code Online (Sandbox Code Playgroud)
这似乎与表单"GET"方法一起正常工作,但不适用于"POST"方法.如何检索POST数据?
pmg*_*pmg 12
如果我没记错,请阅读stdinPOST数据.
编辑未经测试的代码段
len_ = getenv("CONTENT_LENGTH");
len = strtol(len_, NULL, 10);
postdata = malloc(len + 1);
if (!postdata) { /* handle error or */ exit(EXIT_FAILURE); }
fgets(postdata, len + 1, stdin);
/* work with postdata */
free(postdata);
Run Code Online (Sandbox Code Playgroud)
sle*_*ica 11
在双换行符之后,POST数据将附加到请求标头.在CGI-BIN环境中,您可以从STDIN中读取它.
请注意,服务器不需要在POST数据末尾向您发送EOF字符(或某些终止指示符).永远不要读取超过CONTENT_LENGTH字节.
| 归档时间: |
|
| 查看次数: |
14663 次 |
| 最近记录: |