Какой лучший способ использовать безопасный веб-сервис REST на С#? Имя и пароль веб-службы указаны в URL-адресе...
Несколько параметров:
Класс HttpWebRequest. Мощный, но иногда сложный в использовании.
Класс WebClient. Меньше функций, но они должны работать для более простых веб-сервисов и намного проще.
Новый HttpClient в WCF REST Starter Kit. (The Starter Kit - отдельная загрузка, а не часть .NET Framework).
Используйте класс WebRequest, чтобы запрос и HttpWebResponse получили ответ.
Я использовал следующий код для использования webservice.My имя пользователя, пароль и Url сохраняются в переменных UserName, Pwd и Url соответственно.
WebRequest Webrequest;
HttpWebResponse response;
Webrequest = WebRequest.Create(Url);
byte[] auth1 = Encoding.UTF8.GetBytes(UserName + ":" + Pwd);
Webrequest.Headers["Authorization"] = "Basic " + System.Convert.ToBase64String(auth1);
Webrequest.Method = "GET";
Webrequest.ContentType = "application/atom+xml";
response = (HttpWebResponse)Webrequest.GetResponse();
Stream streamResponse = response.GetResponseStream();
StreamReader streamReader = new StreamReader(streamResponse);
string Response = streamReader.ReadToEnd();
Строка ответа будет доступна в переменной Response
.
Я надеюсь, что пароль в URL-адресе зашифрован:). Возможно, это поможет вам:
http://social.msdn.microsoft.com/forums/en-US/wcf/thread/3c8db0bf-984e-426b-b068-d80165ed1b37/
Основываясь на небольшой информации, которую вы предоставили, я бы сказал, что использование класса HttpWebRequest - ваш лучший вариант.
Он относительно прост в использовании, есть много примеров того, как его использовать, и он будет работать с любым медиа-типом, который предоставляет интерфейс REST. У вас есть полный доступ к кодам статуса Http и заголовкам Http.
Что еще вы можете попросить?