Aplicação desktop requisitando uma página HTTP

3 respostas
Luiz_Augusto_Prado

Hoje quebrei a cabeça tentando fazer isso funcionar.
Procurei em vários foruns e sites até que finalmente um codigo funcionou:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class UrlHttp
{

    public static void main(String[] args)
    {  
        try
        {
            URL url = new URL(minhaUrl);
            URLConnection conn = url.openConnection();
            // fake request coming from browser
            conn.setRequestProperty("User-Agent", "Mozilla/5.0 "
                    + "(Windows; U; Windows NT 6.1; en-GB;     "
                    + "rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 "
                    + "(.NET CLR 3.5.30729)");
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
            String f = "";
            while ((f = in.readLine()) != null)
            {
                System.out.print(f );
            } 
            in.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }


    }
}

Sem setar o “User-Agent” no método conn.setRequestProperty, a url que estava requisitando não funcionava.
após adicionar a propriedade “User-Agent” o programa funcionou.

Esse era o erro que estava tendo aqui:

java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.minhaurl.com.br
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1612)
	at urlhttp.UrlHttp.main(UrlHttp.java:25)

Notei que para alguns sites isso já é suficiente:
conn.setRequestProperty(“User-Agent”, “”);

Deixo agora esse post para que ajude outros futuramente.

3 Respostas

gaulix

Muito bom, irá ajudar quem precisar em pesquisas futuras :smiley:

W

Deu erro
java.lang.RuntimeException: Uncompilable source code - cannot find symbol
symbol: variable minhaUrl
location: class UrlHttp
at UrlHttp.main(UrlHttp.java:13)

Luiz_Augusto_Prado

wsm:
Deu erro
java.lang.RuntimeException: Uncompilable source code - cannot find symbol
symbol: variable minhaUrl
location: class UrlHttp
at UrlHttp.main(UrlHttp.java:13)

Não cara…
a variavel “minhaUrl” deve ser algo do tipo:
http://www.google.com.br

faz assim:

String minhaUrl = “http://www.google.com.br”;

No caso do google vai funcionar sem o “User-Agent”, mas em outras páginas, vai ser obrigado a setar essa propriedade.

Criado 17 de setembro de 2012
Ultima resposta 17 de set. de 2012
Respostas 3
Participantes 3