Скриншот сайта с помощью формы входа asp.net в C #? - PullRequest
7 голосов
/ 23 мая 2009

Можно ли написать скриншот для веб-сайта, защищенного формой входа в систему. Конечно, у меня есть доступ к сайту, но я не знаю, как войти на сайт и сохранить свои учетные данные в C #.

Кроме того, любые хорошие примеры скриншперов в C # будут очень благодарны.

Это уже было сделано?

Ответы [ 2 ]

6 голосов
/ 23 мая 2009

Все довольно просто. Вам нужен ваш пользовательский метод входа в систему (HttpPost).

Вы можете придумать что-то вроде этого (таким образом вы получите все необходимые куки-файлы после входа в систему, и вам просто нужно передать их следующему HttpWebRequest):

public static HttpWebResponse HttpPost(String url, String referer, String userAgent, ref CookieCollection cookies, String 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;
    }
4 голосов
/ 23 мая 2009

Конечно, это было сделано. Я сделал это пару раз. Это (в общем случае) называется Очистка экрана или Web Scraping.

Вы должны взглянуть на этот вопрос (а также просмотреть вопросы под тегом " screen-scraping ". Обратите внимание, что очистка относится не только к извлечению данных из веб-ресурс. Он также включает в себя отправку данных в онлайн-формы, чтобы имитировать действия пользователя при отправке входных данных, таких как форма входа в систему.

...