在WinRT中使用HttpRequestHeader&;C#
我正在使用HttpWebRequests联系API,需要添加一个头,但编译器告诉我该方法不存在。 然而,当我检查MSDN时,它告诉我该方法已经存在。 设置我的UserAgent属性也失败 有人能帮我吗在WinRT中使用HttpRequestHeader&;C#,c#,httpwebrequest,http-headers,windows-8,windows-runtime,C#,Httpwebrequest,Http Headers,Windows 8,Windows Runtime,我正在使用HttpWebRequests联系API,需要添加一个头,但编译器告诉我该方法不存在。 然而,当我检查MSDN时,它告诉我该方法已经存在。 设置我的UserAgent属性也失败 有人能帮我吗 try{ HttpWebRequest wr = (HttpWebRequest)HttpWebRequest.Create(url); wr.Method = "GET"; wr.Headers.Add(System.Net.HttpRequestHeader.A
try{
HttpWebRequest wr = (HttpWebRequest)HttpWebRequest.Create(url);
wr.Method = "GET";
wr.Headers.Add(System.Net.HttpRequestHeader.Authorization, string.Format("Bearer {0}", _accessToken));
wr.UserAgent = _appNameAndContact;
var resp = (System.Net.HttpWebResponse) await wr.BetterGetResponse();
if (resp.StatusCode == System.Net.HttpStatusCode.OK)
{
using (var sw = new System.IO.StreamReader(resp.GetResponseStream()))
{
var msg = sw.ReadToEnd();
User usr = JsonConvert.DeserializeObject<User>(msg);
//var results = JSONHelper.Deserialize<User>(msg);
return usr;
}
}
}
试试看{
HttpWebRequest wr=(HttpWebRequest)HttpWebRequest.Create(url);
wr.Method=“GET”;
wr.Headers.Add(System.Net.HttpRequestHeader.Authorization,string.Format(“Bearer{0}”,_accessToken));
wr.UserAgent=\u appNameAndContact;
var resp=(System.Net.HttpWebResponse)等待wr.BetterGetResponse();
if(resp.StatusCode==System.Net.HttpStatusCode.OK)
{
使用(var sw=new System.IO.StreamReader(resp.GetResponseStream())
{
var msg=sw.ReadToEnd();
用户usr=JsonConvert.DeserializeObject(msg);
//var results=JSONHelper.Deserialize(msg);
返回usr;
}
}
}
您必须使用以下类似的方法:
using (var httpClient = new HttpClient())
{
var url = new Uri("http://bing.com");
var accessToken = "1234";
using (var httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, url))
{
httpRequestMessage.Headers.Add(System.Net.HttpRequestHeader.Authorization.ToString(),
string.Format("Bearer {0}", accessToken));
httpRequestMessage.Headers.Add("User-Agent", "My user-Agent");
using (var httpResponseMessage = await httpClient.SendAsync(httpRequestMessage))
{
// do something with the response
var data = httpRequestMessage.Content;
}
}
}
您将必须使用以下类似的方法:
using (var httpClient = new HttpClient())
{
var url = new Uri("http://bing.com");
var accessToken = "1234";
using (var httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, url))
{
httpRequestMessage.Headers.Add(System.Net.HttpRequestHeader.Authorization.ToString(),
string.Format("Bearer {0}", accessToken));
httpRequestMessage.Headers.Add("User-Agent", "My user-Agent");
using (var httpResponseMessage = await httpClient.SendAsync(httpRequestMessage))
{
// do something with the response
var data = httpRequestMessage.Content;
}
}
}
请与我们共享确切的错误消息和您正在使用的Windows 8版本。我使用的是发布预览,编译器告诉我方法.Add()不存在。请与我们共享确切的错误消息和您正在使用的Windows 8版本。我使用的是发布预览,编译器告诉我方法.Add()不存在此URL的如何实现“+DateTime.Now.ToString”(“DDMMYYHHMMSMS”)+”/504434如何实现此URL“+DateTime.Now.ToString”(“DDMMYYHHMMSMS”)+”/504434