0

BufferedReader.readLine()メソッドを使用してリモートサーバーからの応答を読み取ります

   String com;
   while ((com = bufferedReader.readLine()) == null) 
    {
    System.out.println(com+"\n");
    }

私は次のコードを使用していました、そして私はこのような出力を得ました

GET http://bioactress.blogspot.in/ HTTP/1.1

Host: bioactress.blogspot.in

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/
14.0.1

 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

  Accept-Language: en-us,en;q=0.5

 Accept-Encoding: gzip, deflate

  If-Modified-Since: Sat, 17 Nov 2012 07:43:35 GMT

 If-None-Match: "7f9584f0-06ba-448e-97a4-2b8bcd0b30b1"

  Cache-Control: max-age=0

ホストアドレスのみを取得する方法.iはアレイで試してみましたが、エラーは発生しません。ホストアドレスを取得するために誰かを助けてください

4

2 に答える 2

0

リモートサーバーからの応答を読み取る

出力に基づいて、リモートクライアントからのリクエストを読み取っていますが、気にしないでください...

ホストアドレスのみを取得する方法

使用String.startsWith(String):

if(com.startsWith("Host:"))

実際の値の抽出と、大文字と小文字の区別 (HTTP ヘッダーでは大文字と小文字が区別されません) の処理は、あなたに任せます。

ところで、サーブレットのような高レベルの API を使用しないのはなぜですか?

于 2012-11-17T18:35:15.727 に答える
0

表示されるのは HTTP requestであり、応答ではありません。次に、投稿したコードは本物ではありません-実際には、ストリームから読み取ったものは何も出力しません(条件が逆になっています!=。代わりにそうする必要があります)。

Java ソケットの使用方法を示す多くのリソースがオンラインにあります。グーグルはあなたの友達です。ここから開始することも、 のような高レベルのものを使用することもできjava.net.URLます。

于 2012-11-17T18:37:08.453 に答える