Я получаю данные от API Rest. API хочет получить три вещи для аутентификации;Удаленный сервер возвратил ошибку: (401) Неавторизованный при запросе данных RestApi
Первый "Accept:. Приложение/VND ### 1.0 + JSON."
второй: "Тип содержимого: приложения/JSON"
третий: в кодировке Base64 «имя_пользователя : password "string
и я должен передать эти учетные данные для проверки и авторизации в пользовательском заголовке. Я знаю, что на этом сайте есть много потоков, но я не мог решить проблему из них.
Вот код блока:
public class McAfeeIPSManager
{
String URL = "https://serviceOfApi/sdkapi/session";
public void getWebRequest()
{
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
String username = "user";
String password = "password1";
var request = HttpWebRequest.Create(URL) as HttpWebRequest;
request.Accept = "application/vnd.###.v2.0+json";
request.Method = "GET";
request.ContentType = "application/json";
String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password));
request.Headers.Add("Authorization","Basic "+encoded);
try
{
// Get response
using (var response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream
using (var responseReader = new StreamReader(response.GetResponseStream()))
{
string responseBody = responseReader.ReadToEnd();
// Console application output
System.Diagnostics.Debug.Write("Response Body ---> " + responseBody);
//Console.WriteLine(responseBody);
}
}
}
catch (WebException ex)
{
System.Diagnostics.Debug.Write("Error : " + ex.Message);
Console.WriteLine("Error: {0}", ex.Message);
}
}
}
Как получить данные из WebAPI в этих условиях Может кто-нибудь мне помочь?
параметр preAuthenticate не решить мои problem.I есть рассмотрел ваш код, сетевые учетные данные могут быть добавлены в мой код, но формат будет кодировать base64. – dodotu
У вас есть учетные данные, как я? request.Credentials = новый NetworkCredential (имя пользователя, пароль); – Zwan
да ı сделал, но, как я сказал, пароль пользователя должен быть закодирован base64 – dodotu