HttpClientを使って、指定したURLのレスポンスを取得するサンプルコードになります。
サンプルソースは、C# と Visual Basic(VB)を公開しています。
Task<TResult>による、戻り値を呼び出しもとで取得するサンプルとなっています。
以下に、C#,Visual Basic(VB)のサンプルコードを記します。
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static void Main(string[] args)
{
string[] urls = { @"https://just4fun.biz/me.html", @"https://windev.just4fun.biz/me.html" };
Program app = new Program();
HttpClient client = new HttpClient();
foreach (string url in urls)
{
string content = (app.HtmlContent(url, client)).Result;
Console.WriteLine("URL:{0}, Content:{1}", url, content);
}
}
async Task<string> HtmlContent(string url,HttpClient clinet)
{
HttpResponseMessage response = null;
Console.WriteLine("Connect {0}...", url);
try
{
response = await clinet.GetAsync(url);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
return await response.Content.ReadAsStringAsync();
}
catch (Exception ex)
{
Console.WriteLine("Exception Message :{0} ", ex.Message);
}
return null;
}
}
Imports System.Net.Http
Module Program
Sub Main(args As String())
Dim urls As String() = {"https://just4fun.biz/me.html", "https://windev.just4fun.biz/me.html"}
Dim client As HttpClient = New HttpClient()
For Each url As String In urls
Dim content As String = (HtmlContent(url, client)).Result
Console.WriteLine("URL:{0}, Content:{1}", url, content)
Next
End Sub
Private Async Function HtmlContent(ByVal url As String, ByVal clinet As HttpClient) As Task(Of String)
Dim response As HttpResponseMessage = Nothing
Console.WriteLine("Connect {0}...", url)
Try
response = Await clinet.GetAsync(url)
response.EnsureSuccessStatusCode()
Dim responseBody As String = Await response.Content.ReadAsStringAsync()
Return Await response.Content.ReadAsStringAsync()
Catch ex As Exception
Console.WriteLine("Exception Message :{0} ", ex.Message)
End Try
Return Nothing
End Function
End Module
上記サンプルコードの実行時のキャプチャです。
サンプルソースの動作概略を以下に記します。
尚、C#ではクラスとなっているため、自身をnewしています。
以上、HttpClientを使った指定URLのレスポンスを取得するサンプルソースでした。