• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Basic

DownloadString

4 mensagens neste tópico

Boas

O meu problema é os seguite

tenho uma class a ler uma pagina web e copiar todo o seu codigo html para uma string,

o problema é que em algumas paginas (não em todas) a função DownloadString não consegue conenctar-se a pagina para fazer o download  ;)

private String UrlString="http://pt.wikipedia.org/wiki/Categoria:!Artigos_mínimos_sobre_Anatomia";

WebClient client = new WebClient();

client.Encoding = System.Text.Encoding.UTF8;   

try

{

    htmlCode = client.DownloadString(UrlString);

    write("\nconnect");         

}

catch

{               

    write("\nunable to connect");

    return;

}

com alguns url o output é  "unable to connect", penso que seja devido ao facto da url ter caracteres especiais, como acentos, mas não sei como superar este problema  :)

Obrigada

 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ena já começo a desesperar :wallbash:

O link é completamente acessível no browser, no entanto ao fazer o dowload do seu código fonte ele atira um execução, já andei a investiga mais um pouco e reparei que se trata de um ProtocolError (403), o que em principio quere dizer que se trata de um acesso negado, o que me deixa ainda mais confuso, como é possível que o acesso seja negado quando a pagina é acessível no Web browser :P

Se alguém tiver uma ideia agradecia

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
          String UrlString="http://pt.wikipedia.org/wiki/Categoria:!Artigos_mínimos_sobre_Anatomia";
            
            System.Net.WebClient client = new System.Net.WebClient();
            client.Encoding = System.Text.Encoding.UTF8;  
            
            try
            {
                client.Headers["user-agent"] = "Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.1";
                htmlCode = client.DownloadString (new Uri (UrlString));                               
            }
             catch
            {
                 return ;
            }

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Era tão simples  :biggrin:

depois de ver a solução até que era bastante lógico

assim funciona sem problemas

thanks

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora