http запрос
Модератор: Модераторы
http запрос
В общем мне необходимо послать POST запрос на сервер, как мне это сделать?
заранее благодарю.
заранее благодарю.
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
KUKA, Вам сюда
- Ichthyander
- энтузиаст
- Сообщения: 701
- Зарегистрирован: 04.04.2007 08:32:43
- Откуда: Астрахань
- Контактная информация:
Там в начале топика начато совсем не с того. Сокращаю время поисков.
Используйте Synapse модуль HTTPSend.
Функция THTTPSend.HTTPMethod('POST', URL).
Используйте Synapse модуль HTTPSend.
Функция THTTPSend.HTTPMethod('POST', URL).
Ichthyander писал(а):Используйте Synapse модуль HTTPSend.Функция THTTPSend.HTTPMethod('POST', URL).
Спасибо.
Там примеры правда наворочены сильно и не совсем понятно как передать какие-то переменные
Ну вот пишу
Код: Выделить всё
var HTTP: THTTPSend;
begin
...
HTTP:=THTTPSend.Create;
HTTP.MimeType:='application/x-www-form-urlencoded';
if HTTP.HTTPMethod('POST','http://www.webdelphi.ru') then
...
end;в then'е что надо написать что бы передать какие-то значения?
вот пример:
ts - TStringList
Код: Выделить всё
httpsend:=THTTPSend.Create;
try
sdate:=inttostr(YearOf(ADate))+ smonth+sday;
UrlData:='PCAction=TakeRecep&AcceptDate='+sdate+'&AcceptDays=1';
//пост запрос
httpsend.Document.Write(Pointer(URLData)^, Length(URLData));
httpsend.MimeType:='application/x-www-form-urlencoded';
httpResult:=httpsend.HTTPMethod('POST',aURL);
if httpResult then begin ts.LoadFromStream(httpsend.Document); bla-bla-bla end;
finally
FreeAndNil(httpsend);
end;
ts - TStringList
B4rr4cuda писал(а):вот пример:Код: Выделить всё
httpsend:=THTTPSend.Create;
try
sdate:=inttostr(YearOf(ADate))+ smonth+sday;
UrlData:='PCAction=TakeRecep&AcceptDate='+sdate+'&AcceptDays=1';
//пост запрос
httpsend.Document.Write(Pointer(URLData)^, Length(URLData));
httpsend.MimeType:='application/x-www-form-urlencoded';
httpResult:=httpsend.HTTPMethod('POST',aURL);
if httpResult then begin ts.LoadFromStream(httpsend.Document); bla-bla-bla end;
finally
FreeAndNil(httpsend);
end;
ts - TStringList
Ок, а как-нибудь для паскаля без использования модулей типа Classes и режима совместимости с объектным паскалем и делфи можно? Все написано так, что при работе хотя бы в одном из этих режимов идут лаги
KUKA писал(а):Ок, а как-нибудь для паскаля без использования модулей типа Classes и режима совместимости с объектным паскалем и делфи можно?
Можно, разрешаю)
B4rr4cuda писал(а):Можно, разрешаю)
(facepalm)
Я столкнулся с подобной задачей буквально месяц назад. Угробил дня три на изучение разных вариантов (вплоть до скачивания пиратской - ай-ай-ай - Delphi 7 и триальной XE2) и попытки заставить их работать без танцев с бубном. В итоге проще всего получилось с утилитой curl (нагуглите самостоятельно). Она вроде бы умеет все, что надо, включая скачивание/закачивание файлов, ssl и прочие страшные слова. У меня она в основном AJAX имитирует. Это отдельный экзешник с библиотекой, для запуска рекомендую использовать класс TProcess из модуля process.
P. S. "Проще", конечно же, получилось в Delphi, но это либо пиратка, либо 30-дневный триал, и при этом еще и не кроссплатформенно.
P. S. "Проще", конечно же, получилось в Delphi, но это либо пиратка, либо 30-дневный триал, и при этом еще и не кроссплатформенно.
Climber писал(а):Я столкнулся с подобной задачей буквально месяц назад. Угробил дня три на изучение разных вариантов (вплоть до скачивания пиратской - ай-ай-ай - Delphi 7 и триальной XE2) и попытки заставить их работать без танцев с бубном. В итоге проще всего получилось с утилитой curl (нагуглите самостоятельно). Она вроде бы умеет все, что надо, включая скачивание/закачивание файлов, ssl и прочие страшные слова. У меня она в основном AJAX имитирует. Это отдельный экзешник с библиотекой, для запуска рекомендую использовать класс TProcess из модуля process.
P. S. "Проще", конечно же, получилось в Delphi, но это либо пиратка, либо 30-дневный триал, и при этом еще и не кроссплатформенно.
Огромное спасибо, отличный модуль и очень простой
Добавлено спустя 33 минуты 56 секунд:
Только там какая-то проблема, модуль оказался очень стар, и не захотел компилироваться, бинарников curlobj.pas ни у кого не будет?
Модуль libcurl есть в стандартных пакетах.
Mr.Smart писал(а):Модуль libcurl есть в стандартных пакетах.
че-то я его там не нашел, в папках units его нет
/fpcsrc/packages/libcurl/src
Mr.Smart писал(а):/fpcsrc/packages/libcurl/src
Он там не полный и требует еще какой-то unixtype которого нет в исходниках
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
KUKA, этот файл лежит в папке /rtl/unix
