Advertisement
datatheoz

WebClientMonster Edited

Oct 1st, 2018
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 1.38 KB | None | 0 0
  1. Imports System.Net
  2.  
  3. Public Class WebClientMonster
  4.     Inherits WebClient
  5.  
  6.     Public Cookies As New CookieContainer
  7.  
  8.     Protected Overrides Function GetWebRequest(ByVal address As Uri) As WebRequest
  9.         Dim r As WebRequest = MyBase.GetWebRequest(address)
  10.         Dim request = DirectCast(r, HttpWebRequest)
  11.  
  12.         If request IsNot Nothing Then
  13.             request.CookieContainer = Cookies
  14.             request.AutomaticDecompression = DecompressionMethods.GZip Or DecompressionMethods.Deflate
  15.         End If
  16.  
  17.         Return DirectCast(request, WebRequest)
  18.     End Function
  19.  
  20.     Protected Overrides Function GetWebResponse(ByVal request As WebRequest, ByVal result As IAsyncResult) As WebResponse
  21.         Dim response As WebResponse = MyBase.GetWebResponse(request, result)
  22.  
  23.         ReadCookies(response)
  24.         Return response
  25.     End Function
  26.  
  27.     Protected Overrides Function GetWebResponse(ByVal request As WebRequest) As WebResponse
  28.         Dim response As WebResponse = MyBase.GetWebResponse(request)
  29.  
  30.         ReadCookies(response)
  31.         Return response
  32.     End Function
  33.  
  34.     Private Sub ReadCookies(ByVal r As WebResponse)
  35.         Dim response = TryCast(r, HttpWebResponse)
  36.  
  37.         If response IsNot Nothing Then
  38.             Dim newCookies As CookieCollection = response.Cookies
  39.             Cookies.Add(newCookies)
  40.         End If
  41.     End Sub
  42. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement