EDIT: Я использовал скопированный код из другого проекта, который был слишком сложным ... К счастью выходные не за горами.HttpWebRequest - скобки не разрешены в POST
** * **Оригинальный вопрос* ** * ** * ** * ** *
Я m в настоящее время обертывает внешний API-шлюз SMS-шлюза для внутреннего использования - внешний API требует, чтобы сообщение mu ltiple получателей использует следующий синтаксис:
HTTP: // (smsgateway)/имя пользователя = Foo & пасс = бар & от = Myname & получателя [] = 4512345678 & получателя [] = 4587654321 & ...
Это отлично подходит для запросов GET, но я предпочел бы ПОСТИТЬ к шлюзу, чтобы избежать проблем с очень большими URL-адресами. хотя HTTP 1.1 явно не ограничивает клиентов отправкой запросов с очень длинными URL-адресами на сервер.
Проблема здесь в том, что я не разрешено использовать имя параметра формы, содержащее скобки, если я использую HttpWebRequest в .NET 4. Я получаю следующее сообщение об ошибке: «Указанное значение имеет символы недопустимые HTTP Header»
Мой вопрос: я не смог найти ничего в спецификации HTTP 1.1 относительно недопустимых символов в именах параметров формы, поэтому почему мне не разрешено использовать имя параметра формы, называемое «получатели []»?
Ошибка при добавлении в коллекцию форм: webRequest.Headers.Add ("получатели []", "somevalue"); – kerbou
Это не то, как работают запросы POST - параметры формы не отправляются в заголовках запроса. Они отправляются в орган запроса. – hrnt
Вот что нашел быстрый поиск в Google, обратите внимание, как отправляется postData: http://www.netomatix.com/httppostdata.aspx – hrnt