首页 > 编程语言 >C# Web Api HTTP Get (result as a string)

C# Web Api HTTP Get (result as a string)

时间:2022-08-30 14:25:18浏览次数:57  
标签:Web HTTP string request IsSuccess result var Data

为了方便调用,通常封装成一个通用的函数,如下:

/// <summary>
        /// Get Http as string result
        /// </summary>
        /// <param name="url">Request Url.</param>
        /// <param name="strAccessToken">Access Token.</param>
        public WebApiResult HttpGetAsString(string url, string strAccessToken)
        {
            string result = "";
            try
            {
                var request = (HttpWebRequest)WebRequest.Create(url);
                request.Headers.Add("Authorization", "Bearer " + strAccessToken);
                request.Method = "GET";
                request.AllowAutoRedirect = true;
                request.Timeout = 20 * 1000;
                request.ContentType = "application/json";

                var response = (HttpWebResponse)request.GetResponse();
                var rspStream = response.GetResponseStream();
                using (var reader = new StreamReader(rspStream, Encoding.UTF8))
                {
                    result = reader.ReadToEnd();
                    rspStream.Close();
                }
                response.Close();
            }
            catch (Exception ex)
            {
                return new WebApiResult { IsSuccess = false, Data = ex.Message };
            }
            return new WebApiResult { IsSuccess = true, Data = result };
        }
    }

    public class WebApiResult
    {
        public bool IsSuccess { get; set; }

        public string Data { get; set; }
    }

当IsSuccess为true时,Data为返回的调用结果的字符串(Json),可以反序列化为对象。

当IsSuccess为false时,Data为异常message。

标签:Web,HTTP,string,request,IsSuccess,result,var,Data
From: https://www.cnblogs.com/SF8588/p/16639125.html

相关文章

  • webpack5 中使用iframe 复用导航栏时js代码多次编译问题
    作为webpack萌新,在使用webpack时,偶然发现热更新了多次,最开始以为是配置问题,网上找了很久都没有答案,无意看见一个一个帖子说多引用了一遍js文件,于是我我回去找代码看是不是......
  • [CTF]2022 CNSS夏令营 Web&Reverse 复现wp
    写在前面很有趣的一次(大)学前教育,作为一个22级泥电新生,对CTF网安类的东西完全是一窍不通,进新生群然后就被拉进来Van了.结果没想到还挺好玩(可能是我这几天太无聊......
  • String常见API
    在最近Java的学习中,我发现了在日常的编程中会使用好多常见的String的API,现在准备做一个小分类。1.字符串的比较(equals与equalsIgnorecase)根据最近所学,我发现两个不同的S......
  • DevTools 无法加载来源映射:无法加载 webpack··· net::ERR_UNKNOWN_URL_SCHEME
    问题:DevTools无法加载来源映射:无法加载webpack:///node_modules/element-plus/es/components/notification/src/notification.mjs.map的内容:Fetchthroughtargetfaile......
  • websocket
    maven<dependency><groupId>org.springframework</groupId><artifactId>spring-websocket</artifactId></dependency> WebSocketConfigpackagecom.new3s.......
  • acme 生成 https 证书
    下载安装acme curlhttps://get.acme.sh|sh命令执行后,需要关闭终端,重新连接命令就能生效了 执行下面的命令生成证书-d指定需要生成证书的域名--webroot 网站......
  • [CISCN2019 华北赛区 Day1 Web2]ikun-1|python反序列化
    考点:JWT身份伪造、pythonpickle反序列化、逻辑漏洞1、打开之后首页界面直接看到了提示信息,信息如下:2、那就随便注册一个账号进行登录,然后购买lv6,但是未发现lv6,那就查看......
  • XMLHttpResquest Level2新功能
    旧版XMLHttpResquest的缺点:只支持文本数据的传输,无法用来读取和上传文件传送和接收数据时,没有进度信息,只能提示有没有完成 新版的优点:1.可以设置HTTP请求的时限2可......
  • apache服务器启动时提示httpd: apr_sockaddr_info_get() failed for
    apache服务器启动时提示httpd:apr_sockaddr_info_get()failedfor-小!千-博客园 https://www.cnblogs.com/xiaoqian1993/p/6027907.html在RedHat Linux 5与Ce......
  • 2022-08-29 第二小组 张晟源(JAVA WEB)
    JAVAweb一,软件架构1.c/s架构:客户端/服务器2.b/s架构:浏览器/服务器二,资源分类1.静态资源:所有用户访问后,得到的结果都是一样的(html,css,js,图片...)2.动态资源......