如何取得網頁內容

  • 2625
  • 0
  • 2008-08-11

如何取得網頁內容

01     ''' <summary>
02     ''' Http POST 方式取得某網頁內容。
03     ''' </summary>
04     ''' <param name="strUrl">欲取得的網址。</param>
05     ''' <param name="strPostData">POST的參數內容。</param>
06     ''' <returns>某網頁內容。</returns>
08     Public Function GetHttpWebPostContent(ByVal strUrl As String, _
09                                           ByVal strPostData As String, _
10                                           Optional ByVal blnEncoding_BIG5 As Boolean = False) As String
11
12         Dim myWebRequest As Net.WebRequest = Net.WebRequest.Create(strUrl)
13
14         myWebRequest.ContentType = "application/x-www-form-urlencoded"
15         myWebRequest.Method = "POST"
16
17         Dim bytes() As Byte
18         If blnEncoding_BIG5 Then
19             bytes = System.Text.Encoding.Default.GetBytes(strPostData)
20         Else
21             bytes = System.Text.Encoding.UTF8.GetBytes(strPostData)
22         End If
23         myWebRequest.ContentLength = bytes.Length
24         Dim dataStream As Stream = myWebRequest.GetRequestStream()
25         dataStream.Write(bytes, 0, bytes.Length)
26         dataStream.Close()
27
28
29         Dim myWebResponse As Net.WebResponse = myWebRequest.GetResponse()
30         Dim streamResponse As Stream = myWebResponse.GetResponseStream()
31         Dim streamRead As StreamReader
32         If blnEncoding_BIG5 Then
33             streamRead = New StreamReader(streamResponse, System.Text.Encoding.Default)
34         Else
35             streamRead = New StreamReader(streamResponse, System.Text.Encoding.UTF8)
36         End If
37         Dim content As String = streamRead.ReadToEnd()
38
39         streamResponse.Close()
40         streamRead.Close()
41         myWebResponse.Close()
42
43         Return content
44
45     End Function