1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
Imports System.Net
Imports System.IO
Imports System.Text
Imports System.Text.RegularExpressions
Imports System.Threading.Thread
Imports System.Windows.Forms
Public Class RequestState
Public Request As HttpWebRequest
Public Sub New()
Request = Nothing
End Sub
End Class
Public Class GetHttpAsync
Public Sub GetPage(ByVal url As String)
Dim req As HttpWebRequest
req = CType(WebRequest.Create(url), HttpWebRequest)
Dim rs As New RequestState
rs.Request = req
req.BeginGetResponse(New AsyncCallback(AddressOf ResponseCallback), rs)
End Sub
Private Shared Sub ResponseCallback(ByVal ar As IAsyncResult)
Dim rs As RequestState = CType(ar.AsyncState, RequestState)
Dim req As HttpWebRequest = rs.Request
Dim resp As HttpWebResponse = CType(req.EndGetResponse(ar), HttpWebResponse)
Dim responseStream As Stream = resp.GetResponseStream()
Dim sr As StreamReader = New StreamReader(responseStream, Encoding.UTF8)
Dim strContent As String = sr.ReadToEnd()
responseStream.Close()
End Sub
End Class
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'BAD Dim MyGetHTTP As GetHttpAsync = New GetHttpAsync
'BAD Dim MyGetHTTP As GetHttpAsync = GetHttpAsync
'Reference to a non-shared member requires an object reference
GetHttpAsync.GetPage("http://www.google.com")
End Sub
End Class |
Partager