This topic has been archived. It cannot be replied.
-
工作学习 / 专业技术讨论 / 一个用cgi处理html中form 的低端问题前提: 正在开发自己仪器和ethernet 的单片机(msp430)接口,没有rtos。所有的code都是c或asm 。
目前状况:
已经有一个简单的TCP/IP 堆栈,能处理用户简单的url请求。内部有一些cgi code。
用户可以用browser看到一些包含内部实时参数的html 页面..
也就是说,从机器往用户端传输数据没有问题
现在的问题:
希望用户能修改其中的一些参数,并返回给机器(server)。
这就想到了用form。但form里的两个method "get" 和 "post".。 不知在server端应该怎样处理。
多谢指教
-farmer(农夫);
2005-8-16
{458}
(#2454704@0)
-
RFC 1945 - Hypertext Transfer Protocol -- HTTP/1.0
-henryan(Henry);
2005-8-16
(#2454725@0)
-
RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1
-henryan(Henry);
2005-8-16
(#2454729@0)
-
thanks。reading....
-farmer(农夫);
2005-8-16
(#2454748@0)
-
You need a parser to parse the HTTP packet. The easiest way is to use ethereal to capture some HTTP packet and study them. Enjoy !
-bugfree(BugFree);
2005-8-16
(#2455045@0)
-
没有这个东西。很辛苦。
-farmer(农夫);
2005-8-16
(#2455085@0)
-
The parser is very easy. HTTP is plaintext protocol, Here is one packet for "GET" method. Wish you make sense about HTTP ;)GET / HTTP/1.1
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
If-Modified-Since: Sun, 31 Jul 2005 05:41:11 GMT
If-None-Match: "1143bd-110b-8ff8cbc0"
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: 192.168.1.1
Connection: Keep-Alive
Cookie: phpbb2mysql_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%222%22%3B%7D
-bugfree(BugFree);
2005-8-16
{432}
(#2455162@0)
-
用 Windows 的telnet...
-netant(网蚁);
2005-8-16
(#2455189@0)
-
多谢各位的指点。有些细节问题还是不明白:我在form 用post method。在第一次数据解包后是这样的:POST /cgi/sss HTTP/1.1 HOST 192.168.1.5User-Agent:Mozi... ,好像在这时server 端要向client 发送什么数据, client才会继续向server传递数据
/cgi/sss 是cgi code 用于handle service
再次谢谢
-farmer(农夫);
2005-8-16
{130}
(#2455394@0)
-
client can directly send POST data to server. The process like 1) make tcp connect 2) client send POST data 3) server reponse client
-bugfree(BugFree);
2005-8-17
(#2455547@0)
-
yes. excatly. Now, I can figure 1) make TCP connect 2) client send POST data. But what server should response to client in order to get more data?
-farmer(农夫);
2005-8-17
(#2455644@0)
-
Ethereal is a free Network protocol analyzer ---->
-canadiantire(轮胎-M.I.N.K.);
2005-8-17
(#2455671@0)
-
多谢各位的指点。有些细节问题还是不明白:我在form 用post method。在第一次数据解包后是这样的:POST /cgi/sss HTTP/1.1 HOST 192.168.1.5User-Agent:Mozi... ,好像在这时server 端要向client 发送什么数据, client才会继续向server传递数据
再次谢谢
-farmer(农夫);
2005-8-16
{86}
(#2455391@0)