У меня проблемы с отправкой запроса POST на C #, и, похоже, я неправильно понял некоторые основы HTTP. Итак, в основном я реализую RESTfull service клиент , который работает следующим образом:
Я использую 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. Так что я делаю не так?
Спасибо.