Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2013, 15:00   #11
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Есть ещё один вопрос в данный момент я открываю ссылки так
Код:
ShellExecute(0,'open','C:\Program Files (x86)\Mozilla Firefox\firefox.exe','http://investreklam.com/buks/1512/',nil,SW_SHOW);
И вот таких несколько строк, как можно сделать что бы например из ListBox`a открывал ссылки. И как сделать что бы ListBox сохранял введенные ссылки даже если программу закрыть потом её открыть и они оставались что бы заново их не добавлять? Заранее спасибо.
nefakt вне форума Ответить с цитированием
Старый 27.04.2013, 15:27   #12
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Что бы сохранял данные я сделал, осталось сделать что бы он открывал ссылки из ListBox`a.
nefakt вне форума Ответить с цитированием
Старый 27.04.2013, 16:01   #13
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Цитата:
Сообщение от nefakt Посмотреть сообщение
Что бы сохранял данные я сделал, осталось сделать что бы он открывал ссылки из ListBox`a.
в обработчик клика по лист боксу добавь
Код:
ShellExecute(0,'open','C:\Program Files (x86)\Mozilla Firefox\firefox.exe',listbox1.Items.Strings[listbox1.ItemIndex],nil,SW_SHOW);
alextrof94$gmail.com
alextrof94 вне форума Ответить с цитированием
Старый 27.04.2013, 16:27   #14
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Спасибо, а можно сделать что бы при нажатии на Button он открывал все ссылки из ListBox`a?
А если делать обработчик на ListBox при запуске программы пишет ошибку
Код:
[DCC Error] Unit2.pas(168): E2010 Incompatible types: 'string' and 'PWideChar'

Последний раз редактировалось nefakt; 27.04.2013 в 16:29.
nefakt вне форума Ответить с цитированием
Старый 27.04.2013, 16:52   #15
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Цитата:
Сообщение от nefakt Посмотреть сообщение
Спасибо, а можно сделать что бы при нажатии на Button он открывал все ссылки из ListBox`a?
А если делать обработчик на ListBox при запуске программы пишет ошибку
Код:
[DCC Error] Unit2.pas(168): E2010 Incompatible types: 'string' and 'PWideChar'
1 в обработчик клика по кнопке через цикл
2 используй pchar(stroka) //или на худой конец pwidechar, хз в чем отличия и возможен ли второй вариант.
Код:
for i:=0 to listbox1.items.count-1 do 
ShellExecute(0,'open','C:\Program Files (x86)\Mozilla Firefox\firefox.exe',pchar(listbox1.Items.Strings[i]),nil,SW_SHOW);
alextrof94$gmail.com
alextrof94 вне форума Ответить с цитированием
Старый 27.04.2013, 16:59   #16
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

В общем с капчей пробовал разобраться вот код на авторизацию но пишет Авторизация не удалась
POST запрос ловил через HTTP Analyzer V7
Код:
 var
LoginData, Response: TStrings;
begin
LoginData := TStringList.Create;
Response := TStringList.Create;
try
IdHTTP1.Request.ContentType:='application/x-www-form-urlencoded';
IdHTTP1.Request.CustomHeaders.AddValue('Host', 'investreklam.com');
IdHTTP1.Request.CustomHeaders.AddValue('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0');
IdHTTP1.Request.CustomHeaders.AddValue('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
IdHTTP1.Request.CustomHeaders.AddValue('Accept-Language', 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3');
IdHTTP1.Request.CustomHeaders.AddValue('Accept-Encoding', 'gzip, deflate');
IdHTTP1.Request.CustomHeaders.AddValue('Referer', 'http://investreklam.com/');
IdHTTP1.Request.CustomHeaders.AddValue('Cookie', 'PHPSESSID=d1217af5671cb2705f1fe82f8b7b2c83');
IdHTTP1.Request.CustomHeaders.AddValue('Connection', 'keep-alive');
LoginData.Add('email='+Edit1.Text);
LoginData.Add('pass='+Edit2.Text);
LoginData.Add('captcha='+Edit3.Text);
LoginData.Add('login=submit');
LoginData.Add('x=0');
LoginData.Add('y=0');
Response.Text := IdHTTP1.Post('http://investreklam.com/',LoginData);
if Pos('logout',Response.Text)>0 then
ShowMessage('Авторизовались!')
else
ShowMessage('Авторизация не удалась!');
finally
LoginData.Free;
end;
end;
nefakt вне форума Ответить с цитированием
Старый 27.04.2013, 17:28   #17
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Во-первых, не нужно все поля засовывать в CustomHeaders (некоторые вообще не нужно указывать, другие есть в стандартных полях IdHTTP).
Во-вторых, я вижу 1 пост запрос, что явно маловато для авторизации с каптчей (Вы посмотрели пример для форума zhyk?).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 27.04.2013, 17:57   #18
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Пример смотрел, а на счет запроса при авторизации он отправляет один POST запрос а дальше идут GET запросы. Можете сами зайти на тот сайт и посмотреть какой запрос он отправляет при авторизации. http://investreklam.com/registration/antiDot/ Вот ссылка если что.
nefakt вне форума Ответить с цитированием
Старый 27.04.2013, 20:21   #19
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Правильный алгоритм действий:
GET запрос к http://investreklam.com/ (получение PHPSESSID)
GET запрос к http://investreklam.com/blocks/captcha.php (получение каптчи)
POST запрос к http://investreklam.com/ (отправка логина, пароля и текста с каптчи)
Проверка на наличие текста "<a href="http://investreklam.com/exit/">Выход</a>"

ПС Каптча "игрушечная"
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 27.04.2013 в 20:24.
BDA вне форума Ответить с цитированием
Старый 27.04.2013, 23:01   #20
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

Правильно ли я делаю GET запрос?
Код:
var 
S, s_id: string;
begin
 S:=IdHTTP1.Get('http://investreklam.com/');
 s_id:=Copy(S, Pos('PHPSESSID=', S), 20);
 edit5.text:=s_id;
end;

var 
S, s_id: string;
begin
 S:=IdHTTP1.Get('http://investreklam.com/blocks/captcha.php');
 s_id:=Copy(S, Pos('captcha=', S), 20);
 edit5.text:=s_id;
end;
nefakt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Captcha shananina-katya Помощь студентам 1 15.05.2012 14:07
captcha Boy7407 Работа с сетью в Delphi 11 09.01.2012 06:22
Проблема с CAPTCHA maximka787 PHP 2 24.08.2010 00:54
отловить Captcha akimov_aleks Работа с сетью в Delphi 3 01.04.2010 23:31
captcha DeDoK Работа с сетью в Delphi 9 30.03.2010 23:22