Я пытался загрузить банковскую выписку в формате OFX с помощью WebClient, как это:Скачать банк заявление файл с сайта онлайн-банкинга с WebClient
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Data;
using System.Collections.Specialized;
namespace DownloadBankStatement
{
class Program
{
static void Main(string[] args)
{
using (var client = new system.net.CookieAwareWebClient())
{
var LoginValues = new NameValueCollection
{
{"newCardNumber","XXXXXXXXXXXXXXXXXXX"},
{"pswPassword","XXXX"}
};
client.UploadValues("https://www.cibconline.cibc.com/olbtxn/authentication/SignOn.cibc", "POST", LoginValues
var PostValues = new NameValueCollection
{
{"selectedAccount","XXXXX,XXXXXXX"},
{"selectedCriteria","2"},
{"fromDateMonth","2"},
{"fromDateDay","7"},
{"fromDateYear","2017"},
{"toDateMonth","2"},
{"toDateDay","7"},
{"toDateYear","2017"},
{"selectedFMSPackage","3"}
};
byte[] Statement = client.UploadValues("https://www.cibconline.cibc.com/olbtxn/accounts/TransactionDownload2.cibc", "POST", PostValues);
File.WriteAllBytes("C:\\Statement.aso", Statement);
}
Console.ReadLine();
}
}
}
namespace system.net
{
public class CookieAwareWebClient : WebClient
{
public CookieContainer CookieContainer { get; private set; }
public CookieAwareWebClient()
{
this.CookieContainer = new CookieContainer();
}
public CookieAwareWebClient(CookieContainer cookieContainer)
{
this.CookieContainer = cookieContainer;
}
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address) as HttpWebRequest;
if (request == null) return base.GetWebRequest(address);
request.CookieContainer = CookieContainer;
return request;
}
}
}
Все отлично работает, кроме ответа я получаю это веб-страница, которая содержит вторую форму, в которой я устанавливаю параметры банковской выписки.
Я исследовал детали POST, который показывает:
Content-Disposition: вложение; имя файла = cibc.aso Content-Length: 20052 Content-Type: применение/vnd.accpac.simply.aso
Когда я POST форму вручную с помощью IE всегда есть всплывающее окно с запросом, чтобы я либо сохранить его или открытие это dorectly, но когда я использую Chrome, чтобы сделать то же самое, вопрос не задан, и файл загружается напрямую.
Так что было бы правильным способом сохранить файл cibc.aso, который, очевидно, является приложением здесь? Ваш отзыв очень важен.