2014-04-16 38 views
0

我正在用Java写一个服务器应用程序。每次用户通过浏览器访问服务器时,都会创建一个新的客户端套接字。有没有一种很好的方法从客户端套接字中提取GET,POST和头信息?例如。如果客户端加入localhost:PORT/somefile.html,我想提取“somefile.html”信息。从Java客户端套接字中提取GET和POST参数

+0

你想要一个HTTP解析器吗? –

+1

谷歌的“servlet”。 – kdgregory

+0

是的,类似的东西。任何可以帮助我提取所需文件的内容。 –

回答

0

我写了一个很简单的,尚未完成HTTP GET/POST纯Java核心解析器,
见:http://kuchaguangjie.iteye.com/blog/2002257

这只是一个很简单的例子,完整版有并发的支持,但过大,放在那里。
源代码tomcatnetty可以很好的引用来编写一个http解析器。
一本名为“How Tomcat Works”的书也是一本很好的指南。

+0

看起来像垃圾邮件给我。 – developerwjk

+0

@developerwjk是的,除非你已经阅读http协议规范,否则你无法理解它。 –

+0

不。没有任何链接,但一堆中文字符和登录表单。 – developerwjk

1

如果你只是编写一个TCP/IP套接字程序,它不会理解HTTP协议,直到你编写所有的程序。要么找到一个HTTP Server库,要么只是现实一点,安装像Tomcat这样的servlet容器并编写JSP/Servlet。编写Web服务器通常是浪费时间,因为它是一项复杂的任务,您可以找到几个已经完成的任务。