当前位置: 首页>>代码示例>>C#>>正文


C# ApiClient.GetUrl方法代码示例

本文整理汇总了C#中ApiClient.GetUrl方法的典型用法代码示例。如果您正苦于以下问题:C# ApiClient.GetUrl方法的具体用法?C# ApiClient.GetUrl怎么用?C# ApiClient.GetUrl使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ApiClient的用法示例。


在下文中一共展示了ApiClient.GetUrl方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetResult

        public async virtual Task<string> GetResult(ApiClient client) {

            var url = this.BuildUrl(client.GetUrl(this));
            using (var handler = new HttpClientHandler() {
                UseCookies = this.WithCookies,
                AllowAutoRedirect = !this.NeedLoginFirst
            })
            using (HttpClient hc = new HttpClient(handler)) {
                try {
                    var msg = await hc.GetAsync(url);
                    //只有 AllowAutoRedirect 为 false 时,才会捕捉到 Headers.Location
                    if (this.NeedLoginFirst && msg.Headers.Location != null && msg.Headers.Location.Host.Equals("passport.lagou.com")) {
                        this.ErrorType = ErrorTypes.NeedLogin;
                        await this.PrepareLoginCookie(url);
                        return "";
                    } else
                        return await msg.Content.ReadAsStringAsync();

                    //GetStringAsync 会把 302 当作异常抛出
                    //return await hc.GetStringAsync(url);
                } catch (Exception ex) {
                    var bex = ex.GetBaseException();

                    this.ErrorType = bex.HResult.ToString().ParseErrorType();
                    this.Message = bex.Message;
                    return "";
                }
            }
        }
开发者ID:gruan01,项目名称:Lagou.UWP,代码行数:29,代码来源:MethodBase.cs

示例2: GetResult

 public async virtual Task<string> GetResult(ApiClient client) {
     try {
         var url = this.BuildUrl(client.GetUrl(this));
         HttpClient hc = new HttpClient();
         return await hc.GetStringAsync(url);
     } catch (HttpRequestException ex) {
         var bex = ex.GetBaseException();
         var o = new {
             Message = new {
                 messageval = bex.HResult.ToString(),
                 messagestr = bex.Message
             }
         };
         return JsonConvert.SerializeObject(o);
     } catch (WebException ex1) {
         var bex = ex1.GetBaseException();
         var o = new {
             Message = new {
                 messageval = bex.HResult.ToString(),
                 messagestr = bex.Message
             }
         };
         return JsonConvert.SerializeObject(o);
     }
 }
开发者ID:gruan01,项目名称:Discuz.Mobi,代码行数:25,代码来源:MethodBase.cs

示例3: GetResult

        public async virtual Task<string> GetResult(ApiClient client) {
            try {
                var url = this.BuildUrl(client.GetUrl(this));
                using (var handler = new HttpClientHandler() {
                    //CookieContainer = client.Cookies,
                    UseCookies = this.WithCookies
                })
                using (HttpClient hc = new HttpClient(handler)) {
                    return await hc.GetStringAsync(url);
                }
            } catch (Exception ex) {
                var bex = ex.GetBaseException();

                this.ErrorType = bex.HResult.ToString().ParseErrorType();
                this.Message = bex.Message;
                this.HasError = true;

                return "";
            }
        }
开发者ID:zhangcj,项目名称:Xamarin.Forms.Lagou,代码行数:20,代码来源:MethodBase.cs


注:本文中的ApiClient.GetUrl方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。