Я сделал это на днях, в итоге вам нужно создать HttpWebRequest и HttpWepResponse для отправки / получения данных. Поскольку вам необходимо поддерживать файлы cookie для нескольких запросов, вам необходимо создать контейнер cookie для хранения файлов cookie. При необходимости вы также можете установить свойства заголовка для запроса / ответа ....
Основная концепция:
Using System.Net;
// Create Cookie Container (Place to store cookies during multiple requests)
CookieContainer cookies = new CookieContainer();
// Request Page
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://www.amazon.com");
req.CookieContainer = cookies;
// Response Output (Could be page, PDF, csv, etc...)
HttpWebResponse resp= (HttpWebResponse)req.GetResponse();
// Add Response Cookies to Cookie Container
// I only had to do this for the first "login" request
cookies.Add(resp.Cookies);
Ключ к выяснению этого - захват трафика для реального запроса. Я сделал это с помощью Fiddler и в течение нескольких захватов (почти 10) я выяснил, что мне нужно сделать, чтобы воспроизвести логин на сайте, где мне нужно было запустить несколько отчетов, основанных на разных критериях выбора (диапазон дат, части и т. д.) и загрузите результаты в файлы CSV. Он отлично работает, но Фиддлер был ключом к его выяснению.
http://www.fiddler2.com/fiddler2/
Удачи.
Zach