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

如何仅检索主机地址。我尝试使用数组不会发生一些错误。请帮助我获取主机地址

4

2 回答 2

0

从远程服务器读取响应

根据输出,您正在读取来自远程客户端的请求,但没关系......

如何仅检索主机地址

使用String.startsWith(String)

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

我将把提取实际值和处理字符大小写(HTTP 标头不区分大小写)留给您。

顺便说一句,你为什么不使用一些更高级别的 API,比如 servlet?

于 2012-11-17T18:35:15.727 回答
0

您显示的是 HTTP请求,而不是响应。那么您发布的代码不是真实的 - 它实际上并没有打印从流中读取的任何内容(条件相反,应该!=相反)。

网上有很多资源展示了如何使用 Java 套接字。谷歌是你的朋友。您可以从这里开始或使用一些更高级别的东西,例如java.net.URL.

于 2012-11-17T18:37:08.453 回答