本文整理汇总了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);
});
}
示例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;
}
示例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);
}
}
}
示例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);
}
}
示例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);
}
}
示例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());
}
示例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;
}
示例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);
}
}
示例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);
});
}