J'ai besoin d'ajouter des en-têtes personnalisés à l' HttpWebRequest
objet. Comment puis-je ajouter un en-tête personnalisé à un HttpWebRequest
objet dans Windows Phone 7.
J'ai besoin d'ajouter des en-têtes personnalisés à l' HttpWebRequest
objet. Comment puis-je ajouter un en-tête personnalisé à un HttpWebRequest
objet dans Windows Phone 7.
Réponses:
Vous utilisez la Headers
propriété avec un index de chaîne:
request.Headers["X-My-Custom-Header"] = "the-value";
Selon MSDN, cela est disponible depuis:
https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers(v=vs.110).aspx
HttpRequestHeader
énumération concerne les en-têtes standard - pas les en-têtes personnalisés.
Une méthode simple pour créer le service, ajouter des en-têtes et lire la réponse 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'est pas un en-tête personnalisé et doit être géré de manière plus contrôlée.
Vous pouvez ajouter des valeurs à la collection HttpWebRequest.Headers.
Selon MSDN, il devrait être pris en charge dans Windows Phone: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers%28v=vs.95%29.aspx