Pergunta

Eu estou trabalhando em um projeto ASP .NET MVC e eu tenho que mudar HttpHeaders. veja o trecho de código foolowing:

WebRequest req= HttpWebRequest.Create("myURL");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

req.Headers.Add("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)");
req.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
req.Headers.Add("Accept-Language", "en-us,en;q=0.5");

este dá um ou seja exceção.

Este cabeçalho deve ser modificado utilizando a propriedade adequada \ r \ nParameter nome:.. Name

solução Qualquer um suggets para ele

Foi útil?

Solução

Além do que @Mehrdad Afshari diz, sua variável req precisa ser do tipo HttpWebRequest. WebRequest (a classe pai abstrato) não tem o UserAgent e Aceitar propriedades.

HttpWebRequest req = WebRequest.Create( "http://..." ) as HttpWebRequest;

Além disso, eu só quero ter certeza de que você está realmente tentando mudar os cabeçalhos em uma solicitação que você está enviando a partir da aplicação MVC, e não sobre a resposta que está sendo enviado de volta a partir da aplicação MVC. A maneira que você escreveu o código é um pouco confuso, como você está definindo os cabeçalhos depois de receber a resposta, que não vai funcionar, e porque você se referir especificamente a MVC. Se você está criando um WebRequest no servidor que realmente não importa se você está usando WebForms ou MVC, o processo ainda é o mesmo.

Se se verificar que você está tentando mudar o formato da resposta que você está enviando de volta, deixe um comentário e deixe-me saber.

Outras dicas

Você deve definir valores de cabeçalho que têm uma propriedade correspondente no objeto através da propriedade. Por exemplo, UserAgent propriedade é fornecida para definir o agente do utilizador. Você deve modificar o cabeçalho com:

req.UserAgent = "Mozilla/5.0 ...";

É claro, você deve definir valores de cabeçalho antes de chamar GetResponse.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top