我注意到了Microsoft.NETCore.UniversalWindowsPlatform的v5.2和5.1之间的某些内容
我在v5.1中有一个APP,并且做了一个" POST"操作HttpWebRequest,主体中的参数以UTF8编码。 (模拟webSite上的登录) 如果升级到v5.2,我的POST停止工作! 我恢复到v5.1,它再次工作! 你有什么想法吗?
mycode的
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlrest.AbsoluteUri); request.CookieContainer = new CookieContainer();
ASCIIEncoding encoding = new ASCIIEncoding();
//Encoding.UTF8.GetBytes(postString);
byte[] postData = Encoding.UTF8.GetBytes(allparaminbody); //allparamin_body contain : user=myuser&password=mypassword
request.ContentType = "POST";
request.Headers["User-Agent"] = "Apache-HttpClient/4.1.1 (java 1.5)";
Stream newStream = await request.GetRequestStreamAsync();
newStream.Write(postData, 0, postData.Length);
newStream.Dispose();
response = (HttpWebResponse)await request.GetResponseAsync();
由于
答案 0 :(得分:0)
HttpWebRequest 。参考Demystifying HttpClient APIs in the Universal Windows Platform:
作为通用Windows平台(UWP)应用程序开发人员,如果您尝试通过HTTP与Web服务或任何服务器端点进行通信,则可以选择多个API。在托管UWP应用中实现HTTP客户端角色的两个最常用和推荐的API是System.Net.Http.HttpClient和Windows.Web.Http.HttpClient。这些API应该优先于较旧的,不鼓励使用的API,例如WebClient和HttpWebRequest (尽管UWP中有一小部分HttpWebRequest可用于向后兼容)。
另外,您可以参考my previous answer here。根据您的要求,您可以选择System.Net.Http.HttpClient
或Windows.Web.Http.HttpClient
。这是GitHub上使用Windows.Web.Http
命名空间的官方HttpClient sample。
此外,HttpWebRequest.ContentType
应该是MIME类型,例如x-www-form-urlencoded
或text/html
。 POST
我不是有效值。它应该是HttpWebRequest.Method
Property的值。
答案 1 :(得分:0)