答案 0 :(得分:9)
使用java.net.URL
获取InputStream
:
final URL url = new URL("http://www.abc.com/file.xml");
final InputStream in = new BufferedInputStream(url.openStream());
// Read the input stream as usual
为简洁起见,省略了异常处理和内容。
答案 1 :(得分:3)
Dave Ray的答案确实快速而简单,但它不适用于HTTP重定向,或者例如您必须通过需要身份验证的代理服务器。不幸的是,标准Java API的类(在java.net中)缺少某些功能,或者在这种情况下很难使用。
开源库Apache HttpClient可以自动处理重定向,并且可以轻松使用需要身份验证的代理服务器。
这是一个基本的例子:
HttpClient client = new HttpClient();
GetMethod method = new GetMethod("http://www.abc.com/file.xml");
int statusCode = client.executeMethod(method);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + method.getStatusLine());
}
byte[] responseBody = method.getResponseBody();
答案 2 :(得分:0)
如果您打算使用W3C DOM并且对任何IO或HTTP详细信息不感兴趣,您可以执行以下操作:
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
...
final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
final DocumentBuilder builder = factory.newDocumentBuilder();
final Document document = builder.parse("http://www.abc.com/file.xml");