Notoryczny, ale bez odpowiedzi problem pobierania pliku, gdy wymagane jest bezpieczeństwo systemu Windows
Istnieje strona internetowa:http://site.domain.com który pyta o poświadczenia z oknem dialogowym „bezpieczeństwo systemu Windows”. Udało mi się użyć formantu WebBrowser, aby przejść do strony i wysłać naciśnięcia klawiszy, aby wprowadzić hasło - nie mogłem znaleźć innej drogi.
Teraz doszedłem do punktu, w którym strona generuje link do pliku, który chcę pobrać, wygląda to tak:http://site.domain.com/operations/reporting/csv/Report720_2553217.csv
Próbowałem użyć WebClient do pobrania pliku, ale nic nie robi (br to moja kontrolka WebBrowser):
WebClient wb = new WebClient();
wb.Headers.Add( br.Document.Cookie);
wb.DownloadFile(link, @"report.csv");
Próbowałem znaleźć skuteczne rozwiązanie bez skutku. Wiem, że klient WWW nie jest uwierzytelniony, więc spróbowałem użyć pliku cookie przeglądarki internetowej, ale nie działa. Plik cookie wygląda następująco:
TLTUID = 61FE48D8F9B910F9E930F42D6A03EAA6; TLTSID = 0B2B8EE82688102641B7E768807FA8B2; s_cc = true; s_sq =% 5B% 5BB% 5D% 5D; ASPSESSIONIDQQSTRDQS = FNPJCODCEMGFIDHFLKDBEMHO
Mam więc dwa pytania:
Jak zezwolić klientowi internetowemu na pobranie pliku dostępnego z sesji przeglądarki internetowej. Co robię źle w powyższym przykładzie kodu?
Czy istnieje prosty sposób na użycie WebBrowser wyłącznie do pobrania i zapisania tego pliku do wybranej ścieżki i nazwy pliku? Lub jak to zrobić za pomocą WebClient lub czegoś innego?