C# 5.0 TAP 模式下的HTTP Get和Post

标题有点瘆人,换了工作之后很少写代码了,之前由于签了保密协议,不敢把代码拿出来分享给大家,只能摘抄网上的, 今斗胆拿出来晒晒,跪求指点,直接上代码吧

 1     public class HTTPHelper : IDisposable
 2     {
 3         const string urlbaseEndPoint = @"http://hk-uat-sharedapi.com";
 4 
 5         HttpItem httpItem;
 6 
 7         public HTTPHelper(HttpItem item)
 8         {
 9             httpItem = item;
10         }
11 
12         public void HttpHelperMethod()
13         {
14             Uri target = new Uri(urlbaseEndPoint + httpItem.RelatedAddress);
15             WebRequest webquest = HttpWebRequest.Create(target);
16             //HttpWebRequest webquest = new HttpWebRequest();
17             //webquest.Accept = "application/hal+json";
18             webquest.Method = httpItem.RequestMethod.ToString();
19             webquest.ContentType = httpItem.Content_Type;
20             webquest.Headers["Authorization"] = httpItem.Authorization;
21             // webquest.Headers["Accept"] = "application/hal+json";
22             if (httpItem.RequestMethod == "Post")
23             {
24                 using (StreamWriter requestWriter1 = new StreamWriter(webquest.GetRequestStream()))
25                 {
26 
27                     requestWriter1.Write(httpItem.HttpMsgBodyContent);
28                     requestWriter1.Flush();
29                 }
30             }
31             webquest.GetResponseAsync().ContinueWith(GetResponseTask =>
32             {
33                 Console.WriteLine( httpItem.RelatedAddress+": "+GetResponseTask.Status);
34                 try
35                 {
36                     HttpWebResponse t = GetResponseTask.Result as HttpWebResponse;
37                     Console.WriteLine(t.StatusCode.ToString());
38 
39                     if (!GetResponseTask.IsFaulted)
40                     {
41 
42                         StreamReader reader = new StreamReader(GetResponseTask.Result.GetResponseStream());
43                         if (reader != null)
44                         {
45                             string responseresult = reader.ReadToEnd();
46                             //TODO: analysis the result and put the href into the list 
47                            // Console.WriteLine(responseresult);
48                         }
49 
50                     }
51                 }
52                 catch (Exception ex)
53                 {
54                     Console.WriteLine(httpItem.RelatedAddress + ex.InnerException.Message);
55                 }
56             });
57 
58            // Console.WriteLine(string.Format("scheduled the task {0},pending for getting the result", httpItem.RelatedAddress));
59 
60 
61         }
62 
63         public void Dispose()
64         {
65            
66         }
67 }
posted @ 2014-03-10 14:43  我不是杰克船长  阅读(733)  评论(0编辑  收藏  举报