Для эмуляции отправки данных формы, необходимо
отправить на сервер заголовок, содержащий
правильный Content-Type. Для форм, заголовок Content-Type
должен выглядеть следующим образом:
Content-Type: application/x-www-form-urlencoded
Во многих случаях, сервер может неправильно
отреагировать, если в запросе не указан Content-Type.
Например, компонент Active Server Pages вебсервера IIS 3.0
проверяет заголовок на наличие в нём
'application/x-www-form- urlencoded' перед тем, как добавить
переменные формы в объект "Request.Form". Данный
MIME/Content-Type указывает на то, что передаваемые
данные это список URL-кодированных переменных
формы. Под URL-кодированием понимается, что
символы пробела (ASCII 32) будут закодированы как '+',
а специальный символ, например, такой как '!' будет
закодирован шестнадцатиричной форме как '%21'.
Вот кусок кода, использующего классы MFC WinInet для
эмуляции запроса формы POST: