如何检索表单“POST”通过用 C 编写的 cgi-bin 程序获取数据
我正在尝试使用用 C 编写的程序从 html 表单中检索 POST 数据。
目前我正在使用:
char *formdata = getenv("QUERY_STRING");
if(formdata == NULL) /* no data retrieved */
这似乎适用于表单“GET”方法,但不适用于“POST”方法。如何检索 POST 数据?
I am trying to retrieve POST data from html form using program written in C.
At the moment I am using:
char *formdata = getenv("QUERY_STRING");
if(formdata == NULL) /* no data retrieved */
This seems to be working fine with form "GET" method but not with "POST" method. How do I retrieve POST data?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
POST 数据附加到请求标头,位于双换行符之后。在 CGI-BIN 环境中,您可以从 STDIN 读取它。
请注意,服务器不需要在 POST 数据末尾向您发送 EOF 字符(或某些终止指示符)。读取的内容切勿超过 CONTENT_LENGTH 字节。
POST data is appended to the request header, after a double newline. In a CGI-BIN environment, you read it from STDIN.
Be warned that the server IS NOT REQUIRED to send you an EOF character (or some termination indicator) at the end of the POST data. Never read more than CONTENT_LENGTH bytes.
如果我没记错的话,请阅读
stdin
来获取 POST 数据。编辑未经测试的片段
If I remember right, read
stdin
for POST data.Edit for untested snippet
为什么要重新发明那个轮子?只需使用一个库: http://libcgi.sourceforge.net/
Why reinvent that wheel? Just use a library: http://libcgi.sourceforge.net/