2014-04-16 60 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服務器通常是浪費時間,因爲它是一項複雜的任務,您可以找到幾個已經完成的任務。