の終わりを検出し、それを行うために必要なすべての要求を取得し、適切に応答する取り扱いです。HTTP GETリクエストヘッダ(javaの)私はJavaで非常に基本的なHTTPサーバーを作成しようとしてい
私はこのような何かやろうとしている:私が理解から、新しい要求
のために後藤1バッファ文字列
- 読み出し要求を、すべてのHTTP GET要求ヘッダーは "\ r \ n \ r \ n"で終わるので、文字列を検索して見つけたら、完全な要求ヘッダーが送信されたことを示すはずです。私はこれを行うには、以下のコードを使用しています残念ながら私は上記の組み合わせを見つけるようではありません。私はこの組み合わせが見つかるはずであると誤解していますか?
int bytesRead = 0; String request = ""; DataInputStream in = new DataInputStream(clientSocket.getInputStream()); DataOutputStream out = new DataOutputStream(clientSocket.getOutputStream()); while ((bytesRead = in.read(buffer)) != -1){ request += new String(buffer).trim(); buffer = new byte[BUFSIZE]; if (request.contains("\r\n\r\n")) { handleRequest(request); request = ""; } }
私はdetecting end of http header with \r\n\r\nを見つけたし、そこでの回答によると、私はこの方法をヘッダの終了を検出することができるはず、まだ私は私のブラウザから作られた要求を検索したとき、それがこれを見つけられません「\ r \ n \ r \ n」の組み合わせ。以下は、クローム製の要求がある:これはクラスのためであるので、我々は、Javaに付属しているHTTPライブラリで構築を使用することはできません。
GET/HTTP/1.1 Host: localhost:8888 Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding: gzip, deflate, sdch Accept-Language: sv-SE,sv;q=0.8,en-US;q=0.6,en;q=0.4 X-CookiesOK: I explicitly accept all cookies
は、すべてのヘルプは
編集を感謝しています。
あなたの助け、いただき、誠にありがとうございます –