Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   POST-запрос на phpBB 3 (https://forum.antichat.xyz/showthread.php?t=134943)

Magister Yoda 14.08.2009 16:09

[Delphi] POST-запрос на phpBB3
 
процедура должна авторизовываться и отправлять пост на форум данного движка. авторизация проходит нормально, но не постит.
подскажите, в чём проблема?
Код:

ВЫРЕЗАНО

Kaimi 14.08.2009 16:18

Ты кукисы выдаваемые форумом обрабатываешь?

Magister Yoda 14.08.2009 16:22

нет, пока не работал с кукисами, если можно, то поподробнее раскажи

Chrome~ 14.08.2009 20:19

Принятые от сервера кукисы должны обязательно учитываться, так как в дальнейшем по ним будет происходить своеобразное понимание того, что пишешь ты, а не кто другой. То есть кукисы используются в данном случае для поддержания твоей сессии с определенным сайтом (в данном случае с phpBB форумом).

Magister Yoda 14.08.2009 20:47

что такое кукисы(они же печеньки) - я знаю
я не знаю как с ними работать
у меня к IdHttp подключен IdCookieManager, так что поидее с кукисами всё нормально должно быть

ZdezBilYa 15.08.2009 01:46

var CM : TidCookieManager;

CM := TidCookieManager.Create(Http);
Http.CookieManager := CM;

Magister Yoda 15.08.2009 09:05

что есть "Http" в твоём коде?

W@r.N0i$e 15.08.2009 09:40

Цитата:

Сообщение от Magister Yoda
что есть "Http" в твоём коде?

Вероятнее всего Http это TidHttp
Код:

var
  Http  : TidHttp;


ZdezBilYa 15.08.2009 10:21

Цитата:

Сообщение от Magister Yoda
что есть "Http" в твоём коде?

да, у тебя это IdHTTP1

Magister Yoda 15.08.2009 10:26

получился такой код
Код:

ВЫРЕЗАНО
в Memo1 появляется код страницы после выполнения POST-запроса. и на этой странице написано
Код:

Please note that saved drafts only include the subject and the message, any other element will be removed. Do you want to save your draft now?
и 2 кнопки Yes и No

ZdezBilYa 15.08.2009 11:16

блин... CookieManager присоединяй к своей переменной (IdHttp1), а не просто копируй. я же просто скопировал из своего кода.

Magister Yoda 15.08.2009 12:06

CookieManager итак присоединён к IdHttp1, в свойства IdHTTP1 это прописано

ZdezBilYa 15.08.2009 13:16

надо не в свойства писать, а в программе присваивать.
IdHTTP1.CookieManager:=CM;

Magister Yoda 15.08.2009 15:49

ну прописал... ничего не изменилось

ZdezBilYa 15.08.2009 17:11

посмотрел движок, попробовал отправить сообщение (а должен был ты))...
видимо выскакивает это:
Цитата:

Сохранить черновик

Пожалуйста, обратите внимание, что сохраняются только заголовок и текст сообщения, любые другие элементы будут удалены.
Вы хотите сохранить черновик сейчас?
т.е. ты нажимаешь "Сохранить". посмотри снифером внимательно, какие нужны параметры, а какие нет (параметр save мне как кажется не нужен) (на скорую руку говорю)

Magister Yoda 15.08.2009 17:16

ух ты... спс, ща попробую
не тот параметр отбросили... да и вообще я код немного упростил...
снова упростил - ответ приходит тот же про черновики, только на английском
Код:

ВЫРЕЗАНО

Magister Yoda 16.08.2009 01:33

закрывайте топик, проблема решена :)

_nic 16.08.2009 02:34

Проще уж не замарачиватся,а работать напрямую через сокеты.И потом парсить хттп запросы на куки.


Время: 15:10