Devo aggiungere alcune intestazioni personalizzate HttpWebRequest
all'oggetto. Come posso aggiungere un'intestazione personalizzata HttpWebRequest
all'oggetto in Windows Phone 7.
Devo aggiungere alcune intestazioni personalizzate HttpWebRequest
all'oggetto. Come posso aggiungere un'intestazione personalizzata HttpWebRequest
all'oggetto in Windows Phone 7.
Risposte:
Utilizzi la Headers
proprietà con un indice di stringa:
request.Headers["X-My-Custom-Header"] = "the-value";
Secondo MSDN, questo è disponibile da:
https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers(v=vs.110).aspx
HttpRequestHeader
enumerazione è per le intestazioni standard, non per quelle personalizzate.
Un metodo semplice per creare il servizio, aggiungere intestazioni e leggere la risposta 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
non è un'intestazione personalizzata e dovrebbe essere gestita in modo più controllato.
È possibile aggiungere valori alla raccolta HttpWebRequest.Headers.
Secondo MSDN, dovrebbe essere supportato su Windows Phone: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers%28v=vs.95%29.aspx