Я получаю это сообщение: «Удаленный сервер вернул сообщение об ошибке: (401) Unauthorized», но почти через 6 часов после попытки я решил задать его здесь.
Мой код ниже. Я испробовал все рекомендации, такие как UseDefaultCredentials = true;
или PreAuthenticate = true;
или CredentialCache.DefaultCredentials;
, но не повезло.
Я проверяю, не верны ли мои учетные данные, но это не так. Я могу получить доступ к URL из браузера. Он использует базовую c аутентификацию.
Так что у меня нет идей. Есть идеи, что мне здесь не хватает?
static void Main(string[] args)
{
string myno = "1238239202";
string url = string.Format(@"https://myurl.com/get?doc_type1=number&response=T&no_id={0}", myno);
string userName = @"myusernanme";
string password = "mypassword";
string fileDownloadUrl = string.Format(@"C:\users\{0}\Desktop\folder\{1}.tiff", userName, myno);
Stream stream = HttpWebResponseStream(url, userName, password);
StreamReader sr = new StreamReader(stream);
string content = sr.ReadToEnd();
string[] myResultArray = content.Split('|');
url = myResultArray[19];
//Download File
stream = HttpWebResponseStream(url, userName, password);
using (FileStream output = new FileStream(fileDownloadUrl, FileMode.Create))
{
stream.CopyTo(output);
}
stream.Dispose();
}
static Stream HttpWebResponseStream(string url, string userName, string password)
{
HttpWebRequest http = (HttpWebRequest)WebRequest.Create(url);
http.Credentials = new NetworkCredential(userName, password);
WebResponse response = http.GetResponse();
Stream stream = response.GetResponseStream();
return stream;
}