Я использую WCF REST Startkit для создания тестового веб-сервиса REST.Чтобы проверить это, я создаю простое консольное приложение с HTTPClient (поставляется в комплекте) и HttpResponseMessage, чтобы сделать запрос к службе REST.Вот несколько кодов:
HttpClient client = new HttpClient(argsParser.BaseAddress);
HttpResponseMessage resp = client.Get(argsParser.URI);
Console.WriteLine(@"READING DATA FROM {0}{1}",
argsParser.BaseAddress,
argsParser.URI.Length == 0 ? @"" : string.Format(@"/{0}",
argsParse.URI));
resp.EnsureStatusIsSuccessful();
string contentType = resp.Content.ContentType;
Console.WriteLine("CONTENT TYPE: {0}", contentType);
string content = resp.Content.ReadAsString();
Console.WriteLine(
@"CONTENT: {0}", content);
, где argsParser - мой класс анализатора аргументов для получения базового адреса и URI.Он работает нормально, как я уже говорил с моей службой REST в нашей интрасети.Однако, когда я использовал тестовое приложение с веб-службой REST, такой как служба Twitter REST, у меня возникли исключения.
Я думаю, что это вызвано настройками моей рабочей сети. BlueCode Безопасность была реализована как принудительное применение ко всем браузерам / http-запросам на работе.Я должен ввести свой user / pwd в окне подсказки, когда мой браузер обращается к веб-службе REST, как в первый раз в Twitter.После того, как я предоставил свою аутентификационную информацию, браузер работает нормально.
Так что я предполагаю, что с экземплярами HttpClient и HTTPResponseMessage, созданными в моем консольном приложении, мне может понадобиться добавить / присоединить к ним некоторую информацию аутентификации.Я не уверен, какие классы или API мне нужны для предоставления необходимой информации для аутентификации?