Спасибо icktoofay,
Я пробовал использовать HttpWebRequest
и HttpWebResponse
.
Когда я запрашиваю URL-адрес, передавая учетные данные, такие как UserName And Password.
Я получу идентификатор сеанса в ответе.
После получения этого идентификатора сеанса, как двигаться дальше.
Аутентифицированный пользователь отслеживается с использованием учетных данных/файлов cookie. У меня есть точный URL-адрес файла для загрузки и учетных данных. Если вы хотите использовать Cookies, я буду. Мне нужно прочитать данные файла и записать/сохранить его в указанном месте.
Используемый мной код:
string username = "";
string password = "";
string reqString = "https://xxxx.com?FileNAme=asfhasf.mro" + "?" +
"username=" + username + &password=" + password;
byte[] requestData = Encoding.UTF8.GetBytes(reqString);
string s1;
CookieContainer cc = new CookieContainer();
var request = (HttpWebRequest)WebRequest.Create(loginUri);
request.Proxy = null;
request.CookieContainer = cc;
request.Method = "POST";
HttpWebResponse ws = (HttpWebResponse)request.GetResponse();
Stream str = ws.GetResponseStream();
//ws.Cookies
//var request1 = (HttpWebRequest)WebRequest.Create(loginUri);
byte[] inBuf = new byte[100000];
int bytesToRead = (int) inBuf.Length;
int bytesRead = 0;
while (bytesToRead > 0)
{
int n = str.Read(inBuf, bytesRead,bytesToRead);
if (n==0)
break;
bytesRead += n;
bytesToRead -= n;
}
FileStream fstr = new FileStream("weather.jpg", FileMode.OpenOrCreate,
FileAccess.Write);
fstr.Write(inBuf, 0, bytesRead);
str.Close();
fstr.Close();