Olá Pessoal,
Tive a
necessidade de baixar fotos e documentos de uma página de internet protegido
por certificado digital. Eu possuo o Certificado de Cliente necessário, mas não
sabia como fazer o download.
Vejo o código abaixo empacotado num extension method:
public static
byte[] DownloadData(this
System.Net.WebClient w, string url, X509CertificateCollection
clientCertificates)
{
WebRequest req = WebRequest.Create(url);
req.PreAuthenticate = true;
req.UseDefaultCredentials
= true;
HttpWebRequest reqWeb = (HttpWebRequest)WebRequest.
reqWeb.ClientCertificates
= clientCertificates;
reqWeb.PreAuthenticate = true;
WebResponse response =
reqWeb.GetResponse();
using (BinaryReader
br = new BinaryReader(response.
{
int buffer = 1024;
int read;
List<byte> donwloadedFile = new
List<byte>();
byte[] byteArray = new byte[buffer];
do
{
read = br.Read(byteArray,
0, buffer);
for (int
i = 0; i < read; i++)
{
donwloadedFile.Add(byteArray[
}
} while
(read != 0);
return
donwloadedFile.ToArray<byte>()
}
}
|
Nenhum comentário:
Postar um comentário