Como pegar um arquivo passando uma url

3 respostas
G

Olá,

Preciso ler um xml através de uma url (Ex. http://nada_server.nada.com.br/servico/arquivo.xml).

Já tentei usar vários exemplos que encontrei aqui no forum mas não obtive sucesso, sempre tomo o seguinte erro:

java.net.ConnectException: Operation timed out: connect

void java.net.PlainSocketImpl.socketConnect(java.net.InetAddress, int)

native code

void java.net.PlainSocketImpl.doConnect(java.net.InetAddress, int)

PlainSocketImpl.java:355

Alguma sugestão? Qual classe devo usar… No meu ultimo teste usei o seguinte código:

URL url;

url=new URL(http://nada_server.nada.com.br/servico/arquivo.xml);

URLConnection uc = url.openConnection();

DataInputStream input = new DataInputStream(uc.getInputStream());

Obs. Minha url não possui "www’, isso implica em alguma coisa?

3 Respostas

passos

Ja tentou: http://www.guj.com.br/posts/list/0/28264.java#153120

Rafael_Steil

Tenta isso:

private String loadUrl(String host) throws Exception {
	System.out.println("Opening " + host);

	StringBuffer sb = new StringBuffer();

	URL url = new URL(host);
	URLConnection conn = url.openConnection();

	InputStream is = conn.getInputStream();
	byte[] b = new byte[4096];
	int c = 0;

	while ((c = is.read(b)) != -1) {
		sb.append(new String(b, 0, c));
	}

	is.close();

	return sb.toString();
}

O http://jakarta.apache.org/commons/httpclient pode lhe ser muito util tambem.

Rafael

J

Rafael Steil:
Tenta isso:

private String loadUrl(String host) throws Exception {
	System.out.println("Opening " + host);

	StringBuffer sb = new StringBuffer();

	URL url = new URL(host);
	URLConnection conn = url.openConnection();

	InputStream is = conn.getInputStream();
	byte[] b = new byte[4096];
	int c = 0;

	while ((c = is.read(b)) != -1) {
		sb.append(new String(b, 0, c));
	}

	is.close();

	return sb.toString();
}

O http://jakarta.apache.org/commons/httpclient pode lhe ser muito util tambem.

Rafael

Não seria mais fácil usar um BufferedInputStream e ler linha por linha?

Criado 28 de julho de 2005
Ultima resposta 29 de jul. de 2005
Respostas 3
Participantes 4