1

У меня есть проблема при проверке подлинности HttpWebRequestNetworkCredential 401 несанкционированная HttpWebRequest

The remote server returned an error: (401) Unauthorized.

Это мой код:

ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true; 
NetworkCredential networkCredential = new NetworkCredential(username, password); 

WebRequest http = HttpWebRequest.Create(new Uri(url)); 

http.Timeout = timeout; 
http.PreAuthenticate = true; 
http.Credentials = networkCredential; 

try 
{ 
    HttpWebResponse ws = (HttpWebResponse)http.GetResponse(); 
    Stream str = ws.GetResponseStream(); 

} 
catch (WebException ex) 
{ 
    Console.WriteLine(ex.Message); 
} 

и я попытался установить разрешение другим способом:

string credentials = String.Format("{0}:{1}", username, password); 
byte[] bytes = Encoding.ASCII.GetBytes(credentials); 
string base64 = Convert.ToBase64String(bytes); 
string authorization = String.Concat("Basic ", base64); 
http.Headers.Add("Authorization", authorization); 

, но это тоже не помогло.

+0

WWW-Authenticate: Basic область = "ODQ-услуги " – T4mer

ответ

0

Если вы находитесь в корпоративной сети, это может быть прокси-сервер, представляющий 401, а не конечный веб-сервер, который вы ожидаете. Запомни.

Попробуйте установить разрешение от базового до NTLM

Без большого количества информации о приложении вы подключаетесь и конфигурации сети ее просто угадать работы

Смежные вопросы