• 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 }
  • 相关阅读:
    SQLAlchemy(2) -- SQLAlchemy的安装
    SQLAlchemy(1) -- Python的SQLAlchemy和ORM
    http-proxy-middleware及express实现反向代理
    Vue项目中的http请求统一管理
    vue.js中如何使用scss
    Vue 相关开源项目库汇总
    Vue UI组件库
    route按需加载的3种方式:vue异步组件、es提案的import()、webpack的require.ensure()
    Npoi Web 项目中(XSSFWorkbook) 导出出现无法访问已关闭的流
    vuejs 和 element 搭建的一个后台管理界面
  • 原文地址:https://www.cnblogs.com/fengye87626/p/3591772.html
Copyright © 2020-2023  润新知