我需要向HttpWebRequest
对象添加一些自定义标头。如何HttpWebRequest
在Windows Phone 7 中将自定义标题添加到 对象。
Answers:
您可以将Headers
属性与字符串索引一起使用:
request.Headers["X-My-Custom-Header"] = "the-value";
根据MSDN,此功能自以下日期开始可用:
https://msdn.microsoft.com/zh-cn/library/system.net.httpwebrequest.headers(v=vs.110).aspx
HttpRequestHeader
枚举是标准的头-不是为了自定义的。
创建服务,添加标头和读取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
不是自定义标头,应以更受控的方式进行处理。
您可以将值添加到HttpWebRequest.Headers集合。
根据MSDN,Windows Phone应该支持它:http : //msdn.microsoft.com/zh-cn/library/system.net.httpwebrequest.headers%28v=vs.95%29.aspx