Добавление заголовков и данных публикации в RESTfull / HTTP-запрос в C #

У меня проблемы с отправкой запроса POST на C #, и, похоже, я неправильно понял некоторые основы HTTP. Итак, в основном я реализую RESTfull service клиент , который работает следующим образом:

  1. Сделайте запрос POST с именем пользователя / паролем и получите токен
  2. Используйте этот токен в заголовке (Авторизация: TOKEN) при выполнении других Запросы GET / POST / PUT

Я использую WebRequest для выполнения запросов GET (с заголовком авторизации), и он работает. Но когда я использую следующий код для выполнения запросов PUT, служба возвращает сообщение «Ошибка аутентификации - не выполнен вход в систему»:

String url = String.Format("{0}/{1}", AN_SERVER, app);
WebRequest theRequest = WebRequest.Create(url);
theRequest.Method = "POST";

theRequest.ContentType = "text/x-json";
theRequest.ContentLength = json.Length;
Stream requestStream = theRequest.GetRequestStream();

requestStream.Write(Encoding.ASCII.GetBytes(json), 0, json.Length);
requestStream.Close();


theRequest.Headers.Add("Authorization", authToken);

HttpWebResponse response =  (HttpWebResponse)theRequest.GetResponse();

Я должен сделать небольшую ошибку (по крайней мере, я на это надеюсь) при отправке запроса POST. Так что я делаю не так?

Спасибо.

19
задан Azho KG 2 August 2011 в 22:14
поделиться