我需要向HttpWebRequest
对象添加一些自定义标头。在Windows Phone 7中,如何向HttpWebRequest
对象添加自定义标头。
我需要向HttpWebRequest
对象添加一些自定义标头。在Windows Phone 7中,如何向HttpWebRequest
对象添加自定义标头。
您可以使用Headers
属性和字符串索引:
request.Headers["X-My-Custom-Header"] = "the-value";
根据MSDN,此功能自以下版本开始提供:https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers(v=vs.110).aspx
一个简单的创建服务、添加头信息并读取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());
}
}
您可以向HttpWebRequest.Headers集合中添加值。
根据MSDN的说法,它应该在Windows Phone上受支持:http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers%28v=vs.95%29.aspx
首先,您需要访问您正在尝试获取响应的网页。
右键单击>检查>网络>(刷新)> 在名称下单击第一个链接>现在您可以看到请求头和响应头。
从那里,您可以查看请求头并相应地添加它们,例如:
HttpWebRequest HttpWReq = (HttpWebRequest)WebRequest.Create(url);
HttpWReq.Method = "GET";
HttpWReq.Headers.Add("accept-encoding", "gzip, deflate, br");
HttpWReq.Headers.Add("cache-control", "max-age=0");
HttpWReq.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36";
HttpWReq.Headers.Add("accept-encoding", "gzip, deflate, br");
HttpWReq.Headers.Add("accept-language", "en-US,en;q=0.9");
HttpWReq.Headers.Add("cache-control", "max-age=0");
HttpWReq.Headers.Add("upgrade-insecure-requests", "1");
HttpRequestHeader
枚举是用于标准头部而非自定义头部的。 - Anders Marzi Tornblad