Array
(
)

Cotação do dolar.

Hal9000
   - 08 ago 2008

Olá a todos...

Estou precisando colocar a cotação do dolar da frente de um site que estou desenvolvendo. Me parece que tem que ser feito através de webservices, mas não acho exemplo em lugar nenhum... Alguém pode me ajudar?

Hal9000
   - 09 set 2008

Ainda não achei uma solução!
Ninguém possui uma rotina em asp.net para isso? :( :( :(

Hal9000
   - 09 set 2008

Só acho coisa em Asp e PHP Será possível?
rs...

Guilhermehao
   - 09 set 2008

Não sei se eh uma boa pratica de progamação...
mas li sobre o assunto...e achei a seguinte opção..

vamos obter a cotação on-line do dólar, disponível na página br.invertia.com do site terra.

#Código


using system.net;

using system.io;

...

private void dorequest()

{

   //cria uma requisição para a url

   webrequest rq = webrequest.create(

    "http://br.invertia.com/mercados/divisas");

   //obtém a resposta

   httpwebresponse rp = 

    (httpwebresponse)rq.getresponse();

   //obtém um stream contendo a resposta

   //retornada pelo servidor

   stream ds = rp.getresponsestream();

   //cria um streamreader para leitura

   streamreader rd = new streamreader(ds);

   //lê o conteúdo

   string ct = rd.readtoend();

   //atribui o resultado ao textbox

   tbresponse.text = ct;

   //fecha os objetos

   rd.close();

   ds.close();

   rp.close();

   //exibe o resultado

   lbresultado.text = "r$ " + extractdolar(ct);

}



Ve ai o q q vira...e depois me fala...

Boa Sorte!!!

Guilhermehao
   - 09 set 2008

#Código

private string extractdolar(string text)

{ 

   //procura por indexador fixo

   int i = text.lastindexof("dolcm");

   //incrementa deslocamento

   i += 16;

   //captura o texto

   return text.substring(i, 6);

}


Guilhermehao
   - 09 set 2008

Eu testei o codigo aqui...tive um problema com proxy...

já vou colocar aqui o erro que deu e a solução..caso aconteça...

ERRO:

The remote server returned an error: (407) Proxy Authentication Required

Solução:

rq.Proxy = WebProxy.GetDefaultProxy
rq.Proxy.Credentials = CredentialCache.DefaultCredentials

Atenciosamente,

Guilhermehao
   - 09 set 2008

Bixo...

acho q vai fica um pouco dificil..pq eh mto hardCode...mas

consegui finalmente fazer funcionar...trazendo o valor exato...

vai ter q alterar a funcao q retorna o valor do dolar...

#Código


 Private Function extractdolar(ByVal text As String) As String

        Dim i As Integer = text.LastIndexOf("DOLCM")
        i += 33

        Return text.Substring(i, 6)
    End Function



Flw..

Hal9000
   - 10 set 2008

Valeu Guilherme!

Funciona direitinho. tem um certo delay por causa do tempo até consultar o site do Invertia, mas vai me servir bem agora.

De quebra ainda aprendi a ler o conteúdo de uma página Html

Mais uma vez obrigado.

:D

Guilhermehao
   - 10 set 2008

Eu tb aprendi mto com este tópico...