Я делаю POST HTTPWebRequest на URL, чтобы загрузить файл.Проблема в том, что запрос не выполняется с ошибкой аутентификации сообщения.Но тот же запрос, сделанный через приложение POSTMAN, работает нормально.Я получаю сообщение об ошибке: Удаленный сервер возвратил ошибку: (401) Несанкционированный.Ошибка протокола.
Захват запросов между двумя этими файлами показывает, что в POSTMAN есть несколько дополнительных шифров, ec_point_formats, elliptic_curves, signature_algs.Не уверен, что это имеет значение, но в интересах краткости этого поста я не даю фактических различий, но могу предоставить, если потребуется.
Образец кода, который я использую:
// create a request
HttpWebRequest request; = (HttpWebRequest)WebRequest.Create(inputUri);
SetProxy(inputProxyUri, inputProxyUser, inputProxyPassword, request);
request.ProtocolVersion = HttpVersion.Version11;
//Set authorization
string authorisation = string.Format("{0}:{1}", user, pass);
string encoded = Convert.ToBase64String(Encoding.UTF8.GetBytes(authorisation));
string header = string.Format("{0} {1}", "Basic", encoded);
request.Headers[HttpRequestHeader.Authorization] = header;
request.KeepAlive = false;
request.Method = "POST";
byte[] postBytes = Encoding.ASCII.GetBytes(requestParams);
request.ContentLength = postBytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(postBytes, 0, postBytes.Length);
requestStream.Close();
//Get response stream
System.IO.Stream responseStream = ((HttpWebResponse)request.GetResponse()).GetResponseStream();
У меня естьиграл с объектом запроса, упомянутым ниже:
request.ProtocolVersion = HttpVersion.Version11;
request.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequired;
request.UseDefaultCredentials = true;
request.PreAuthenticate = true;
request.Credentials = CredentialCache.DefaultCredentials;
request.Accept = "*/*";
Также изменен реестр, чтобы включить TLS 1.2, включить TLS-1.2 для клиентских и серверных коммуникаций SCHANNEL, как упомянуто в https://www.derekseaman.com/2010/06/enable-tls-12-aes-256-and-sha-256-in.html без особой удачи.
Любая помощь будет оценена.