ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

IdHTTP в delphi
  #1  
Старый 18.01.2009, 22:44
Аватар для bag
bag
Участник форума
Регистрация: 06.03.2008
Сообщений: 105
Провел на форуме:
253346

Репутация: 146
По умолчанию IdHTTP в delphi

все привет, помогите сделать коннект к сайту по IdHTTP.
у меня не получается
делаю так:

var
i:integer;
s:string;
begin
lData := TStringList.Create;
http := TIdHTTP.Create(nil);
HTTP.HandleRedirects := True;
HTTP.ProtocolVersion := pv1_0;
HTTP.ProtocolVersion := pv1_0;
HTTP.Request.BasicAuthentication := True;

lData.Clear;
try
for i:=0 to Memo2.Lines.Count - 1 do
begin
lData.Add(memo2.Lines.Strings[i]);
end;
try
HTTP.Post('http://vkontakte.ru', lData);//
s := http.Get('http://vkontakte.ru');
except
end;
memo1.Lines.Add(s);
finally
end;
ldata.free;
end;


в мемо2:
email=123123@123.ru
pass=123123
submit=.
 
Ответить с цитированием

  #2  
Старый 18.01.2009, 22:52
Аватар для crystalbit
crystalbit
Участник форума
Регистрация: 06.06.2008
Сообщений: 171
Провел на форуме:
1085601

Репутация: 110
Отправить сообщение для crystalbit с помощью ICQ
По умолчанию

мне кажется надо куки включить, если не сработает, пробуй реферер добавить
думаю еще, хорошо получать результат пост запроса, авось там ответ

и по поводу оптимизации, не удержался:
Код:
for i:=0 to Memo2.Lines.Count - 1 do
begin
lData.Add(memo2.Lines.Strings[i]);
end;
можно заменить на
Код:
lData:=Memo2.Lines;
 
Ответить с цитированием

  #3  
Старый 18.01.2009, 23:03
Аватар для bag
bag
Участник форума
Регистрация: 06.03.2008
Сообщений: 105
Провел на форуме:
253346

Репутация: 146
По умолчанию

спасибо за ответ!
вот это
Код:
HTTP.Post('http://vkontakte.ru', lData);//
s := http.Get('http://vkontakte.ru');
заменить на

Код:
//HTTP.Post('http://vkontakte.ru', lData);//
s := http.post('http://vkontakte.ru',ldata);
верно?
 
Ответить с цитированием

  #4  
Старый 18.01.2009, 23:04
Аватар для bag
bag
Участник форума
Регистрация: 06.03.2008
Сообщений: 105
Провел на форуме:
253346

Репутация: 146
По умолчанию

еще заметил что символ @ меняется на %40 при входе из браузера, а если из дельфи то не меняется, попробовал написать %40 вместо @, в результате получил %2540
 
Ответить с цитированием

  #5  
Старый 19.01.2009, 21:39
Аватар для bag
bag
Участник форума
Регистрация: 06.03.2008
Сообщений: 105
Провел на форуме:
253346

Репутация: 146
По умолчанию

Мужики, по-любому кто-то с этим сталкивался, откликнитесь.
 
Ответить с цитированием

  #6  
Старый 19.01.2009, 21:44
Аватар для crystalbit
crystalbit
Участник форума
Регистрация: 06.06.2008
Сообщений: 171
Провел на форуме:
1085601

Репутация: 110
Отправить сообщение для crystalbit с помощью ICQ
По умолчанию

мне кажется обязательно нужно включить кукисы

ставь на форму IdCookieManager [Indy Misc]
и в свойстве CookieManager у IdHTTP укажи его
также AllowCookies тру

это необходимое условие) достаточное ли оно - хз)
может еще че-то надо
 
Ответить с цитированием

  #7  
Старый 19.01.2009, 21:50
Аватар для bag
bag
Участник форума
Регистрация: 06.03.2008
Сообщений: 105
Провел на форуме:
253346

Репутация: 146
По умолчанию

спасибо, но не помогает((
 
Ответить с цитированием

  #8  
Старый 19.01.2009, 21:58
Аватар для crystalbit
crystalbit
Участник форума
Регистрация: 06.06.2008
Сообщений: 171
Провел на форуме:
1085601

Репутация: 110
Отправить сообщение для crystalbit с помощью ICQ
По умолчанию

 
Ответить с цитированием

  #9  
Старый 21.01.2009, 01:56
Аватар для cylaaaan
cylaaaan
Участник форума
Регистрация: 31.08.2006
Сообщений: 149
Провел на форуме:
1763379

Репутация: 155
Отправить сообщение для cylaaaan с помощью ICQ
По умолчанию

Выставляешь компонент IdCookieManager на форму.

Код:
var
i:integer;
s:string;
site :string;
begin
site := 'http://vkontakte.ru';

Cookie := TIdCookieManager.Create(nil);
lData := TStringList.Create;
http := TIdHTTP.Create(nil);

HTTP.Cookiemanager := Cookie;
HTTP.HandleRedirects := False;

lData.Clear;
try

for i:=0 to Memo2.Lines.Count - 1 do
begin
lData.Add(memo2.Lines.Strings[i]);
end;

try
HTTP.Post(site+'/login.php', lData);
except
end;

try
s := http.Get(site+HTTP.Response.Location);
except
end;

memo1.Lines.Add(s);

finally
end;

ldata.free;

end;
Не проверял, но кажется так
 
Ответить с цитированием

  #10  
Старый 21.01.2009, 02:31
Аватар для De-visible
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Код:
try
HTTP.Post(site+'/login.php', lData);
except
end;

try
s := http.Get(site+HTTP.Response.Location);
except
end;
Начинается(( очередной велосипед?, не легче ли просто разрешить редиректы и все.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стоит ли писать это в Delphi? Ch@RM0nt Болталка 20 01.12.2008 20:43
Простая антиотладка на Delphi TaNkist Авторские статьи 13 03.11.2006 17:00
Вопрос про Флудер на Delphi Utochka С/С++, C#, Delphi, .NET, Asm 3 25.06.2006 22:47
.:Join-им 2 exe-шника ручками (using Delphi):. xShreKx Авторские статьи 6 12.06.2006 16:22
Азы Delphi Morph Авторские статьи 1 13.03.2005 01:22



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ