Racler l’écran d’un site avec un identifiant de formulaire asp.net en C #?

Serait-il possible d’écrire un écran-grattoir pour un site Web protégé par un login de formulaire. J’ai access au site, bien sûr, mais je ne sais pas comment me connecter au site et enregistrer mes informations d’identification en C #.

En outre, tous les bons exemples de screenscrapers en C # seraient extrêmement appréciés.

Cela a-t-il déjà été fait?

C’est assez simple. Vous avez besoin de votre méthode de connexion personnalisée (HttpPost).

Vous pouvez proposer quelque chose comme ceci (de cette manière, vous obtiendrez tous les cookies nécessaires après la connexion et vous devrez simplement les transmettre au prochain HttpWebRequest):

public static HttpWebResponse HttpPost(Ssortingng url, Ssortingng referer, Ssortingng userAgent, ref CookieCollection cookies, Ssortingng postData, out WebHeaderCollection headers, WebProxy proxy) { try { HttpWebRequest http = WebRequest.Create(url) as HttpWebRequest; http.Proxy = proxy; http.AllowAutoRedirect = true; http.Method = "POST"; http.ContentType = "application/x-www-form-urlencoded"; http.UserAgent = userAgent; http.CookieContainer = new CookieContainer(); http.CookieContainer.Add(cookies); http.Referer = referer; byte[] dataBytes = UTF8Encoding.UTF8.GetBytes(postData); http.ContentLength = dataBytes.Length; using (Stream postStream = http.GetRequestStream()) { postStream.Write(dataBytes, 0, dataBytes.Length); } HttpWebResponse httpResponse = http.GetResponse() as HttpWebResponse; headers = http.Headers; cookies.Add(httpResponse.Cookies); return httpResponse; } catch { } headers = null; return null; } 

Bien sûr, cela a été fait. Je l’ai fait plusieurs fois. C’est ce qu’on appelle (génériquement) Screen-scraping ou Web Scraping.

Vous devriez jeter un coup d’œil à cette question (et aussi parcourir les questions sous la balise ” screen-scraping “. Notez que le scraping ne concerne pas seulement l’extraction de données à partir d’une ressource Web. Il implique également la soumission de données à des formulaires en ligne les actions d’un utilisateur lors de la saisie d’une entrée, telle qu’un formulaire de connexion.