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


C# IHttpClient.Get方法代码示例

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


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

示例1: GetNegotiationResponse

        // virtual to allow mocking
        public virtual Task<NegotiationResponse> GetNegotiationResponse(IHttpClient httpClient, IConnection connection, string connectionData)
        {
            if (httpClient == null)
            {
                throw new ArgumentNullException("httpClient");
            }

            if (connection == null)
            {
                throw new ArgumentNullException("connection");
            }

            var negotiateUrl = UrlBuilder.BuildNegotiate(connection, connectionData);

            httpClient.Initialize(connection);

            return httpClient.Get(negotiateUrl, connection.PrepareRequest, isLongRunning: false)
                            .Then(response => response.ReadAsString())
                            .Then(raw =>
                            {
                                if (String.IsNullOrEmpty(raw))
                                {
                                    throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, Resources.Error_ServerNegotiationFailed));
                                }

                                return JsonConvert.DeserializeObject<NegotiationResponse>(raw);
                            });
        }
开发者ID:ZixiangBoy,项目名称:SignalR-1,代码行数:29,代码来源:TransportHelper.cs

示例2: GetTrailerList

        /// <summary>
        /// Downloads a list of trailer info's from the apple url
        /// </summary>
        /// <returns>Task{List{TrailerInfo}}.</returns>
        public static async Task<List<TrailerInfo>> GetTrailerList(IHttpClient httpClient, CancellationToken cancellationToken)
        {
            var stream = await httpClient.Get(new HttpRequestOptions
            {
                Url = TrailerFeedUrl,
                CancellationToken = cancellationToken,
                ResourcePool = Plugin.Instance.AppleTrailers

            }).ConfigureAwait(false);

            var list = new List<TrailerInfo>();

            using (var reader = XmlReader.Create(stream, new XmlReaderSettings { Async = true }))
            {
                await reader.MoveToContentAsync().ConfigureAwait(false);

                while (await reader.ReadAsync().ConfigureAwait(false))
                {
                    cancellationToken.ThrowIfCancellationRequested();

                    if (reader.NodeType == XmlNodeType.Element)
                    {
                        switch (reader.Name)
                        {
                            case "movieinfo":
                                var trailer = FetchTrailerInfo(reader.ReadSubtree());
                                list.Add(trailer);
                                break;
                        }
                    }
                }
            }

            return list;
        }
开发者ID:rrb008,项目名称:MediaBrowser.Plugins,代码行数:39,代码来源:AppleTrailerListingDownloader.cs

示例3: Refresh

        public async Task<IEnumerable<ChannelItemInfo>> Refresh(IProviderManager providerManager,
            IHttpClient httpClient,
            string url,
            INotificationManager notificationManager,
            CancellationToken cancellationToken)
        {
            var options = new HttpRequestOptions
            {
                Url = url,
                CancellationToken = cancellationToken,

                // Seeing some deflate stream errors
                EnableHttpCompression = false
            };

            using (Stream stream = await httpClient.Get(options).ConfigureAwait(false))
            {
                using (var reader = new StreamReader(stream))
                {
                    XDocument document = XDocument.Parse(reader.ReadToEnd());
                    var x = from c in document.Root.Element("channel").Elements("item") select c;

                    return x.Select(CreatePodcast).Where(i => i != null);
                }
            }
        }
开发者ID:curtisghanson,项目名称:Emby.Channels,代码行数:26,代码来源:RSSFeed.cs

示例4: GetFeed

 public async Task<SyndicationFeed> GetFeed(IProviderManager providerManager,
     IHttpClient httpClient,
     string url,
     CancellationToken cancellationToken)
 {
     using (XmlReader reader = new SyndicationFeedXmlReader(await httpClient.Get(url, cancellationToken).ConfigureAwait(false)))
     {
         return SyndicationFeed.Load(reader);
     }
 }
开发者ID:Techywarrior,项目名称:MediaBrowser.Channels,代码行数:10,代码来源:RSSFeed.cs

示例5: Refresh

        public async Task<IEnumerable<BaseItem>> Refresh(IProviderManager providerManager, 
            IHttpClient httpClient, 
            string url,
            CancellationToken cancellationToken)
        {
            using (XmlReader reader = new SyndicationFeedXmlReader(await httpClient.Get(url, cancellationToken).ConfigureAwait(false)))
            {
                var feed = SyndicationFeed.Load(reader);

                return await GetChildren(feed, providerManager, cancellationToken);
            }
        }
开发者ID:Techywarrior,项目名称:MediaBrowser.Channels,代码行数:12,代码来源:RSSFeed.cs

示例6: GetStartResponse

        // virtual to allow mocking
        public virtual Task<string> GetStartResponse(IHttpClient httpClient, IConnection connection, string connectionData, string transport)
        {
            if (httpClient == null)
            {
                throw new ArgumentNullException("httpClient");
            }

            if (connection == null)
            {
                throw new ArgumentNullException("connection");
            }

            var startUrl = UrlBuilder.BuildStart(connection, transport, connectionData);

            httpClient.Initialize(connection);

            return httpClient.Get(startUrl, connection.PrepareRequest, isLongRunning: false)
                            .Then(response => response.ReadAsString());
        }
开发者ID:ZixiangBoy,项目名称:SignalR-1,代码行数:20,代码来源:TransportHelper.cs

示例7: GetTrailerList

        /// <summary>
        /// Downloads a list of trailer info's from the apple url
        /// </summary>
        /// <returns>Task{List{TrailerInfo}}.</returns>
        public static async Task<List<TrailerInfo>> GetTrailerList(IHttpClient httpClient, 
            ILogger logger, 
            bool hdTrailerList,
            CancellationToken cancellationToken)
        {
            var url = hdTrailerList ?
                HDTrailerFeedUrl :
                TrailerFeedUrl;

            var stream = await httpClient.Get(new HttpRequestOptions
            {
                Url = url,
                CancellationToken = cancellationToken,
                ResourcePool = Plugin.Instance.AppleTrailers,
                UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.28 Safari/537.36"

            }).ConfigureAwait(false);

            var list = new List<TrailerInfo>();

            using (var reader = XmlReader.Create(stream, new XmlReaderSettings { Async = true }))
            {
                await reader.MoveToContentAsync().ConfigureAwait(false);

                while (await reader.ReadAsync().ConfigureAwait(false))
                {
                    cancellationToken.ThrowIfCancellationRequested();

                    if (reader.NodeType == XmlNodeType.Element)
                    {
                        switch (reader.Name)
                        {
                            case "movieinfo":
                                var trailer = FetchTrailerInfo(reader.ReadSubtree(), logger);
                                list.Add(trailer);
                                break;
                        }
                    }
                }
            }

            return list;
        }
开发者ID:Techywarrior,项目名称:MediaBrowser.Channels,代码行数:47,代码来源:AppleTrailerListingDownloader.cs

示例8: GetFeed

        public async Task<SyndicationFeed> GetFeed(IProviderManager providerManager,
            IHttpClient httpClient,
            string url,
            CancellationToken cancellationToken)
        {
            var response = await httpClient.Get(new HttpRequestOptions
            {
                CacheMode = CacheMode.Unconditional,
                CacheLength = TimeSpan.FromHours(3),
                Url = url,
                CancellationToken = cancellationToken,
                // Seeing a block length error with some sites with this on
                EnableHttpCompression = false

            }).ConfigureAwait(false);

            using (XmlReader reader = new SyndicationFeedXmlReader(response))
            {
                return SyndicationFeed.Load(reader);
            }
        }
开发者ID:algel,项目名称:Emby.Channels,代码行数:21,代码来源:RSSFeed.cs

示例9: GetNegotiationResponse

        internal static Task<NegotiationResponse> GetNegotiationResponse(IHttpClient httpClient, IConnection connection)
        {
            httpClient.Initialize(connection);

            return httpClient.Get(connection.Url + "negotiate", connection.PrepareRequest, false)
                .Then(response => response.ReadAsString())
                .Then(json =>
                {
                    if (json == null)
                        throw new InvalidOperationException("Server negotiation failed.");

                    return JsonConvert.DeserializeObject<NegotiationResponse>(json);
                });
        }
开发者ID:Avatarchik,项目名称:uSignalR,代码行数:14,代码来源:HttpBasedTransport.cs


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