net ejemplos downloaddata asp vb.net webclient

vb.net - ejemplos - ¿Cómo puedo hacer que WebClient use cookies?



webclient downloaddata (2)

Cree una nueva clase que herede de WebClient que almacena el CookieContainer como dice @Guffa. Aquí está el código que utilizo que hace eso y también mantiene vivo al referente:

Public Class CookieAwareWebClient Inherits WebClient Private cc As New CookieContainer() Private lastPage As String Protected Overrides Function GetWebRequest(ByVal address As System.Uri) As System.Net.WebRequest Dim R = MyBase.GetWebRequest(address) If TypeOf R Is HttpWebRequest Then With DirectCast(R, HttpWebRequest) .CookieContainer = cc If Not lastPage Is Nothing Then .Referer = lastPage End If End With End If lastPage = address.ToString() Return R End Function End Class

Aquí está la versión C # del código anterior:

using System.Net; class CookieAwareWebClient : WebClient { private CookieContainer cc = new CookieContainer(); private string lastPage; protected override WebRequest GetWebRequest(System.Uri address) { WebRequest R = base.GetWebRequest(address); if (R is HttpWebRequest) { HttpWebRequest WR = (HttpWebRequest)R; WR.CookieContainer = cc; if (lastPage != null) { WR.Referer = lastPage; } } lastPage = address.ToString(); return R; } }

Me gustaría que el WebClient de VB.net recuerde las cookies.

He buscado y probado numerosas clases de sobrecargas.

Quiero iniciar sesión en un sitio web a través de POST, luego POST a otra página y obtener su contenido mientras sigo reteniendo mi sesión.

¿Es esto posible con VB.net sin usar el control WebBrowser?

Probé Chilkat.HTTP y funciona, pero quiero usar bibliotecas .Net.


No puede hacer que la clase de WebClient recuerde las cookies, debe obtener el contenedor de cookies de la respuesta y utilizarlo en la siguiente solicitud.