http запрос

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

http запрос

Сообщение KUKA » 27.03.2012 21:34:15

В общем мне необходимо послать POST запрос на сервер, как мне это сделать?
заранее благодарю.
KUKA
новенький
 
Сообщения: 46
Зарегистрирован: 22.02.2012 20:54:19

Re: http запрос

Сообщение Padre_Mortius » 27.03.2012 21:39:58

KUKA, Вам сюда
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: http запрос

Сообщение Ichthyander » 28.03.2012 07:18:03

Там в начале топика начато совсем не с того. Сокращаю время поисков.
Используйте Synapse модуль HTTPSend.
Функция THTTPSend.HTTPMethod('POST', URL).
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 696
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: http запрос

Сообщение KUKA » 28.03.2012 13:53:30

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'е что надо написать что бы передать какие-то значения?
KUKA
новенький
 
Сообщения: 46
Зарегистрирован: 22.02.2012 20:54:19

Re: http запрос

Сообщение B4rr4cuda » 28.03.2012 14:33:18

вот пример:
Код: Выделить всё
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
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: http запрос

Сообщение KUKA » 28.03.2012 15:39:15

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
новенький
 
Сообщения: 46
Зарегистрирован: 22.02.2012 20:54:19

Re: http запрос

Сообщение B4rr4cuda » 29.03.2012 14:05:45

KUKA писал(а):Ок, а как-нибудь для паскаля без использования модулей типа Classes и режима совместимости с объектным паскалем и делфи можно?

Можно, разрешаю)
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: http запрос

Сообщение KUKA » 29.03.2012 21:46:48

B4rr4cuda писал(а):Можно, разрешаю)

(facepalm)
KUKA
новенький
 
Сообщения: 46
Зарегистрирован: 22.02.2012 20:54:19

Re: http запрос

Сообщение Climber » 30.03.2012 08:15:05

Я столкнулся с подобной задачей буквально месяц назад. Угробил дня три на изучение разных вариантов (вплоть до скачивания пиратской - ай-ай-ай - Delphi 7 и триальной XE2) и попытки заставить их работать без танцев с бубном. В итоге проще всего получилось с утилитой curl (нагуглите самостоятельно). Она вроде бы умеет все, что надо, включая скачивание/закачивание файлов, ssl и прочие страшные слова. У меня она в основном AJAX имитирует. Это отдельный экзешник с библиотекой, для запуска рекомендую использовать класс TProcess из модуля process.

P. S. "Проще", конечно же, получилось в Delphi, но это либо пиратка, либо 30-дневный триал, и при этом еще и не кроссплатформенно.
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Re: http запрос

Сообщение KUKA » 30.03.2012 15:23:59

Climber писал(а):Я столкнулся с подобной задачей буквально месяц назад. Угробил дня три на изучение разных вариантов (вплоть до скачивания пиратской - ай-ай-ай - Delphi 7 и триальной XE2) и попытки заставить их работать без танцев с бубном. В итоге проще всего получилось с утилитой curl (нагуглите самостоятельно). Она вроде бы умеет все, что надо, включая скачивание/закачивание файлов, ssl и прочие страшные слова. У меня она в основном AJAX имитирует. Это отдельный экзешник с библиотекой, для запуска рекомендую использовать класс TProcess из модуля process.

P. S. "Проще", конечно же, получилось в Delphi, но это либо пиратка, либо 30-дневный триал, и при этом еще и не кроссплатформенно.


Огромное спасибо, отличный модуль и очень простой :wink:

Добавлено спустя 33 минуты 56 секунд:
Только там какая-то проблема, модуль оказался очень стар, и не захотел компилироваться, бинарников curlobj.pas ни у кого не будет?
KUKA
новенький
 
Сообщения: 46
Зарегистрирован: 22.02.2012 20:54:19

Re: http запрос

Сообщение Mr.Smart » 30.03.2012 16:25:30

Модуль libcurl есть в стандартных пакетах.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: http запрос

Сообщение KUKA » 30.03.2012 16:52:49

Mr.Smart писал(а):Модуль libcurl есть в стандартных пакетах.

че-то я его там не нашел, в папках units его нет
KUKA
новенький
 
Сообщения: 46
Зарегистрирован: 22.02.2012 20:54:19

Re: http запрос

Сообщение Mr.Smart » 30.03.2012 17:11:36

/fpcsrc/packages/libcurl/src
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: http запрос

Сообщение KUKA » 30.03.2012 19:10:51

Mr.Smart писал(а):/fpcsrc/packages/libcurl/src

Он там не полный и требует еще какой-то unixtype которого нет в исходниках
KUKA
новенький
 
Сообщения: 46
Зарегистрирован: 22.02.2012 20:54:19

Re: http запрос

Сообщение Padre_Mortius » 30.03.2012 19:35:16

KUKA, этот файл лежит в папке /rtl/unix
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

След.

Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 7

Рейтинг@Mail.ru