Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jefferson Martins

[Resolvido] HttpWebRequest

Recommended Posts

Olá amigos!

 

estou trabalhando com a seguinte função para enviar uma requição com parametros e receber a resposta e imprimir na tela, porém os caracteres especiais estão vindo como aqueles quadradinhos chatos!

 

se alguém souber como evitar isso ficaria muito grato!

segue a função principal!

 

private string MI_EscreveBoleto(string strFormValues)
		{
			string strNewValue;
			string strResponse;

			// Create the request obj 
			HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://www.bptob.com/cgi-bin/CobreBemECommerce?");

			// Set values for the request back 
			req.Method = "POST";
			req.ContentType = "application/x-www-form-urlencoded";
			strNewValue = strFormValues;
			req.ContentLength = strNewValue.Length;

			// Write the request 
			StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
			stOut.Write(strNewValue);
			stOut.Close();

			// Do the request to get the response 
			StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream());
			strResponse = stIn.ReadToEnd();
			stIn.Close();

			return strResponse;

		}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente usar o seguinte enconding:

StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream(), Encoding.GetEncoding(1252));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente usar o seguinte enconding:

StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream(), Encoding.GetEncoding(1252));

 

Poxa amigo! deu certinho, obrigado mesmo! posso ja aproveitar a deixar pra citar uma coisa parecida que tenho aqui,

 

tenho como setar no load da pagina qual é o encode, pois estou trabalhando com um componente da CobreBem para cartão de credito e a minha pagina

de retorno que ele chama dentro do servidor dele aparece com o mesmo problema, eu ja seitei em tudo que é lugar até no web config e não adianta, ja viu alguma coisa desse tipo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu conheco o globalization do Web.Config.

<globalization requestEncoding="" fileEncoding="" responseEncoding=""/>
Mas nunca usei, mas acho que o deve ser por ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde pessoal,

 

Estou procurando algo bem explicativo sobre como pegar dados de um site externo, apenas HTML (já que não tem XML disponível).

Precisaria pegar os indicadores econômicos, todos tem no site da Folha (iria pegar de lá, então).

 

Bovespa

Nasdaq

Dólar comercial

Euro

Poupança

Com ASP 3.0 sei fazer isso. Mas com C#.NET não. Sabem me dar a luz de como fazer isso?

Apenas pegar o HTML e retornar para uma variável quero saber, o restante fica por minha conta :D

 

Valeeeu, grande abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para pegar o HTML use como base esse mesmo código que o Jefferson postou. No caso dele ele está fazendo requisiçao com POST, você pode usar GET.

Então é só tirar esse trecho:

 

// Set values for the request back
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
strNewValue = strFormValues;
req.ContentLength = strNewValue.Length;
Mudar a página para usar o site da folha e pronto.

A varivel strResponse é quem tem o código HTML.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu!

 

//---------------------------------------------------
		string strURL = "http://www.google.com";

		HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strURL);
		myRequest.Method = "GET";
		// StreamReader stIn = new StreamReader(myRequest.GetResponse().GetResponseStream(), Encoding.GetEncoding(1252));

		// Do the request to get the response
		StreamReader stIn = new StreamReader(myRequest.GetResponse().GetResponseStream());
		string strResponse = stIn.ReadToEnd();
		stIn.Close();

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.