Preciso adicionar alguns cabeçalhos personalizados ao HttpWebRequest
objeto. Como posso adicionar Cabeçalho Personalizado ao HttpWebRequest
objeto no Windows Phone 7.
Preciso adicionar alguns cabeçalhos personalizados ao HttpWebRequest
objeto. Como posso adicionar Cabeçalho Personalizado ao HttpWebRequest
objeto no Windows Phone 7.
Respostas:
Você usa a Headers
propriedade 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
HttpRequestHeader
enumeraçã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());
}
}
Authorization
nã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