c# – 使用带WinRT的HttpClient类

前端之家收集整理的这篇文章主要介绍了c# – 使用带WinRT的HttpClient类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一段在.NET(4.0)中完美运行的代码

码#

  1. string URI = "http://www.indianrail.gov.in/cgi_bin/inet_pnrstat_cgi.cgi";
  2. string Parameters = Uri.EscapeUriString("lccp_pnrno1=8561180607&submitpnr=Get Status");
  3. System.Net.HttpWebRequest req = (HttpWebRequest)System.Net.WebRequest.Create(URI);
  4. //HTTP POST Headers
  5. req.ContentType = "application/x-www-form-urlencoded";
  6. req.Host = "www.indianrail.gov.in";
  7. //You can use your own user-agent.
  8. req.UserAgent = "Mozilla/5.0 (compatible; MSIE 7.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0) DELL;Venue Pro";
  9. req.Headers.Add(HttpRequestHeader.AcceptLanguage,"en-us,en;q=0.5");
  10. req.Headers.Add(HttpRequestHeader.AcceptCharset,"ISO-8859-1,utf-8;q=0.7,*;q=0.7");
  11. req.KeepAlive = true;
  12. req.Referer = "http://www.indianrail.gov.in/pnr_stat.html";
  13. req.Accept = "text/plain";
  14. req.Method = "POST";
  15. //Byte size calculation before sending request.
  16. byte[] bytes = System.Text.Encoding.ASCII.GetBytes(Parameters);
  17. req.ContentLength = bytes.Length;
  18. System.IO.Stream os = req.GetRequestStream();
  19. os.Write(bytes,bytes.Length);
  20. os.Close();
  21. System.Net.WebResponse resp = req.GetResponse();
  22. var request_status = ((HttpWebResponse)resp).StatusDescription;
  23. if (resp == null) return;
  24. System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
  25. Console.WriteLine(sr.ReadToEnd());
  26. Console.ReadLine();

我似乎无法想出要在Win Store应用程序中写什么

到目前为止,我必须使用哪个类(或可能不是)

  1. HttpClient httpClient = new HttpClient();
  2.  
  3. httpClient.DefaultRequestHeaders.Add("Host","www.indianrail.gov.in");

但是其他值如何,我们可以在其中添加一些数据,其中一些需要直接添加到集合(DefaultHeaders)…

是否有相关的使用和描述的文档

在这方面的任何帮助将是伟大的:)

解决方法

任何方式都要感谢社区的帮助….一些阅读让我找到了解决方
  1. string URI = "http://www.indianrail.gov.in/cgi_bin/inet_pnrstat_cgi.cgi";
  2. string Parameters = Uri.EscapeUriString("lccp_pnrno1=8561180604&submitpnr=Get Status");
  3.  
  4. HttpClient client = new HttpClient();
  5.  
  6. HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post,URI);
  7.  
  8. request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("text/plain"));
  9. request.Headers.AcceptCharset.Add(new StringWithQualityHeaderValue("utf-8",0.7));
  10. request.Headers.AcceptLanguage.Add(new StringWithQualityHeaderValue("en-us",0.5));
  11. request.Content = new StreamContent(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(Parameters)));
  12. request.Content.Headers.Add("Content-Type","application/x-www-form-urlencoded");
  13. request.Headers.Host = "www.indianrail.gov.in";
  14. request.Headers.UserAgent.Add(new ProductInfoHeaderValue("Mozilla","5.0"));
  15. request.Headers.Referrer = new Uri("http://www.indianrail.gov.in/pnr_stat.html");
  16.  
  17. var result = await client.SendAsync(request);
  18. var content = await result.Content.ReadAsStringAsync();

这将返回我想要的结果

谢谢你的方式

猜你在找的C#相关文章