Содержание
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.
справка