WebClientクラスを利用する場合と、

WebRequest/WebResponseクラスを利用する場合がある。

1WebRequestクラスとWebResponseクラスを利用する場合

(このふたつは通常、ペアで使用します。)

WebRequestクラスによりWebサーバへ送信するリクエストを作成。

GetResponseメソッドを使用し、リクエストの送信、レスポンスの取得を行います。

レスポンスを表すクラスがWebResponseクラスになる。

Imports System.IO
Imports System.Net

Public Class WebRequestResponse1

Shared Sub Main( )

Dim enc As Encoding = Encoding.GetEncoding("Shift_JIS")

Dim url As String = "http://www.google.co.jp/"

Dim request As WebRequest = WebRequest.Create( url ) ※1

Dim response As WebResponse = request.GetResponse( ) ※2

Dim stream As Stream = response.GetResponseStream( ) ※3

Dim streamreader As StreamReader = New StreamReader( stream, enc )

Dim html As String = stream.ReadToEnd( )

streamreader.Close( )

stream.Close( )

Console.WriteLine( html )

End Sub

End Class

※1 リクエストの作成を行うのにNewによるインスタンス化ではなく、静的メソッドであるCreateメソッドを呼び出している点に注意。

WebRequestのCreateメソッドは、WebRequestクラスの派生クラスを返します。今回の場合、http://で始まるURI(Uniform Resource Identifier)が渡されたので、HttpWebRequestインスタンスが返されます。

MSDN参照

※2 クライアント アプリケーションは、WebResponse オブジェクトを直接作成しません。このオブジェクトは、WebRequest インスタンスで GetResponse メソッドを呼び出して作成します。

GetResponseメソッドは、インターネットリソースへの要求を送信し、WebResponseインスタンスを返します。

MSDN参照

※3 WebResponse.GetResponseStreamメソッド  インターネットリソースからデータストリームを返します。

おすすめの記事