Содержание
HttpPost(Url, Post : String) : String
Выполнить HTTP POST запрос
Функция HttpPost используется для запросов к WEB-приложениям.
Функция не использует Proxy-сервера и не использует настроек браузера. Функция не использует Cookies. Поддерживается только ответ сервера "HTTP/1.1 200", а заголовок ответа игнорируется. Функция передает данные только способом application/x-www-form-urlencoded, поэтому из за необходимой замены некоторых символов на специальные последовательности (например ? на %3F) возможно троекратное увеличение трафика.
Невозможно получение данных содержащих символ с кодом 0. При получении таких данных происходит исключение.
Если выполнить запрос не удалось, то пользователю выводится окно с предложением повторить запрос или прервать выполнение программы. В последнем случае происходит исключение.
Пример:Procedure OnCreate; Var A : String; B : Integer; C : Blob; Response : String; Begin A := '=a&b?'; B := 1600; C := LoadBlobFile('c:/boot.ini'); Response := HttpPost('http://localhost/my.php', 'a='+QuoteHttp(a)+'&b='+QuoteHttp(b)+'&c='+QuoteHttp(c)); // Будет сформирован запрос a=%3Da%26b?&b=1600&c=[boot%20loader]%0D%0A... Alert(Response, 'Ответ сервера'); // Ответ сервера: "A = =a&b?, B = 1600, C = 309" End;Пример файла my.php:
<? print "A = ".$HTTP_POST_VARS["a"].", B = ".$HTTP_POST_VARS["b"].", C = ".strlen($HTTP_POST_VARS["c"]); ?>
Смотри функции QuoteHttp, HttpBlobPost.