Загрузить файл через HTTPS C # - Cookie и Header Prob? - PullRequest
1 голос
/ 27 мая 2009

Я пытаюсь загрузить файл по HTTPS и просто продолжаю сталкиваться с кирпичной стеной с правильной настройкой Cookies и заголовков.

Кто-нибудь знает / знает какой-либо код, который я могу просмотреть, чтобы сделать это правильно? загрузить файл через https и установить файлы cookie / заголовки?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 27 мая 2009

Я сделал это на днях, в итоге вам нужно создать 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

0 голосов
/ 27 мая 2009

Мне повезло с классом WebClient. Это оболочка для HttpWebRequest, которая может сохранить несколько строк кода: http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx

0 голосов
/ 27 мая 2009

Этот парень написал приложение для загрузки файлов по HTTP:

http://www.codeproject.com/KB/IP/DownloadDemo.aspx

Не совсем уверен, что вы подразумеваете под установкой файлов cookie и заголовков. Требуется ли это для сайта, с которого вы скачиваете? Если да, какие файлы cookie и заголовки необходимо установить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...