我使用下面的代码从bbc网站读取子上下文新闻,但是它正在抛出UnknownHostException.Any提示。
try {
InetAddress addr = InetAddress.getByName("bbc.co.uk/news/");
int port = 80;
// This constructor will block until the connection succeeds
Socket socket = new Socket(addr, port);
} catch (UnknownHostException e) {
System.out.println("exception is"+e);
} catch (IOException e) {
}
答案 0 :(得分:1)
来自InetAddress.getByName(...)
上的JavaDoc:
根据主机名称确定主机的IP地址。
在bbc.co.uk/news/
中,主持人为bbc.co.uk
,news
是您已经说明的子上下文。
如果您不必使用InetAddress.getByName("bbc.co.uk")
:URL
,请将其更改为Socket
或者使用new URL("http://bbc.co.uk/news/").openStream()
课程。
答案 1 :(得分:1)
您的InetAddress.getByName()方法不正确。它应该只指定主机名。
InetAddress addr = InetAddress.getByName("bbc.co.uk");