Preciso adicionar alguns cabeçalhos personalizados ao HttpWebRequestobjeto. Como posso adicionar Cabeçalho Personalizado ao HttpWebRequestobjeto no Windows Phone 7.
Preciso adicionar alguns cabeçalhos personalizados ao HttpWebRequestobjeto. Como posso adicionar Cabeçalho Personalizado ao HttpWebRequestobjeto no Windows Phone 7.
Respostas:
Você usa a Headerspropriedade com um índice de string:
request.Headers["X-My-Custom-Header"] = "the-value";
De acordo com o MSDN, isso está disponível desde:
https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers(v=vs.110).aspx
HttpRequestHeaderenumeração é para cabeçalhos padrão - não para cabeçalhos personalizados.
Um método simples de criar o serviço, adicionando cabeçalhos e lendo a resposta JSON,
private static void WebRequest()
{
const string WEBSERVICE_URL = "<<Web service URL>>";
try
{
var webRequest = System.Net.WebRequest.Create(WEBSERVICE_URL);
if (webRequest != null)
{
webRequest.Method = "GET";
webRequest.Timeout = 12000;
webRequest.ContentType = "application/json";
webRequest.Headers.Add("Authorization", "Basic dchZ2VudDM6cGFdGVzC5zc3dvmQ=");
using (System.IO.Stream s = webRequest.GetResponse().GetResponseStream())
{
using (System.IO.StreamReader sr = new System.IO.StreamReader(s))
{
var jsonResponse = sr.ReadToEnd();
Console.WriteLine(String.Format("Response: {0}", jsonResponse));
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
Authorizationnão é um cabeçalho personalizado e deve ser tratado de maneira mais controlada.
Você pode adicionar valores à coleção HttpWebRequest.Headers.
De acordo com o MSDN, ele deve ser compatível com o Windows Phone: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers%28v=vs.95%29.aspx