Это тупо тривиальный вопрос, но я не могу найти подходящий пример где-либо с более чем одним установленным свойством. В основном, я пытаюсь отправить запрос POST с библиотекой HTTPWebRequest C#, указав два разных поля в теле запроса.Форматирование тела HTTPWebRequest
До сих пор у меня есть это:
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "POST";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] byt = encoding.GetBytes("recipient=12345ABC");
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byt.Length;
Stream newStream = request.GetRequestStream();
newStream.Write(byt, 0, byt.Length);
Вслед за вещи обычно GetResponse(). Это работает отлично, денди все, что, но я не могу понять, как определить несколько элементов кузова, такие как оба эти:
recipient=12345ABC
body="testmessage"
Я попытался отделяя их точкой с запятой, амперсандом и запятая , но сервер продолжает возвращать Error 400: Bad Request. Возможно, я просто не понимаю, как этот процесс работает?
Вы должны иметь возможность разделить их с амперсандом («&») так же, как и для запроса GET в строке запроса (например, «recipient = 12345ABC & body = testmessage»). Возможно, вам придется URLEncode ваш 'body', если он содержит специальные символы. –
Он все еще дает мне плохой запрос ответа, к сожалению. Я также попытался переместить параметры из тела непосредственно на сам URL и добавить его, но он все равно не нравится. Следует отметить, что они указывают параметр «получатели» и «текст»; в примере, который они приводят, они фактически не говорят «text = blah» - они просто добавляют «& blah» после «recipients = 12345ABC». Является ли это своего рода ярлыком или это указывает на то, чего я не хватает? (Edit: By «they» Я имею в виду авторов API) – sichinumi
^Еще одна вещь, которую нужно добавить: пример JSON, который они дают, использует «body = blah» в отличие от «text = blah», хотя имя параметра, которое они предоставляют, "текст." – sichinumi