HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 01.09.2009, 17:03
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме:
4761503

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

Цитата:
Сообщение от Flenov  
Доброго времени суток!

Я на Delphi пишу одну програмку.
Она проходит авторизацию, получает какие-то куки.
Ну например вот фрагмент ответа сервера:

PHP код:
 Set-Cookiepar1=val1expires=Sun22-Aug-2010 22:38:14 GMTpath=/; domain=.domain.ru
 Set
-Cookiepar2=val2expires=Sat04-Sep-2010 08:38:06 GMTpath=/; domain=.domain.ru
 Set
-Cookiepar3=val3expires=Sat04-Sep-2010 08:50:26 GMTpath=/; domain=.domain.ru 

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

Код:
'GET '+WebAddr+' HTTP/1.0'+#13#10+
'Accept: text/html, */*'+#13#10+
'Host: '+Server+#13#10+
'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)'+#13#10+
'Content-Type: text/html'+#13#10#13#10;
В мемо1:
maska=aallalaalala;session=ashhasha;lala=2481;

(кукисы, можно и запрос туда пихнуть, разницы не имеет для ниже приведенного кода)

Код принятия кукисов:
Код:
function Tform1.CopyCookie(s,sBuff:string):string;
var
text:string;
i:integer;
 Begin
  text:='';
  showmessage(inttostr(pos(s+'=',sBuff)));
  showmessage(inttostr(Length(sBuff)));
//Посл символ у нас под номером 45
  For i:=pos(s+'=',sBuff) to Length(sBuff) Do
//в i записываем откуда начинается фраза "what="
//(В мемо1 у меня начинается фраза с 20 символа)
//(в дальнейшем будет сокр МПК - МестоПоложениеКуки)
//Дальше идем от МПК до символа ";" (когда сод. куки обрывается)
//Но мы не знаем где будет находится символ ";"
//Поэтому будем проходится от МПК до посл. символа sbuff (в намем случае до посл. символа memo1)
    Begin
      If sBuff[i]<>';' then text:=text+sBuff[i] else Break;
     //Тут мы сверяем текущий символ с символом ";"(окончание куки)
     //Если этого ";" символа нету то добавляем символ
     //В итоге как символ ";" встретился то у нас в переменной text будет кука (кука+значение куки)
     //и мы закончим проходится цикл так как уже кука у нас есть и нам не зачем дальше проходиться
    End;
  Result:=text;
 End;
В Button1.OnClick пишем:

Код:
ShowMessage('Наша кука+значение куки: '+CopyCookie('What',Memo1.Lines.Text));
Коменты можно убрать (расписал для новичков)

План примерно таков:
-Отправляем пакет (без кукисов)
--Принимаем ответный пакет (ответный ответ придет с кукисами если отправляли на авторизацию пакет)

-Отправляем пакет с кукисами, к примеру:
Код:
  sendbuff :='GET vkontakte.ru/id1 ' HTTP/1.1'+ #13#10 +
                    'Host: vkontakte.ru'+ #13#10 +
                    'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 AdCentriaIM/1.7 Firefox/2.0.0.14 WebMoney Advisor'+ #13#10 +
                    'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5'+ #13#10 +
                    'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3'+ #13#10 +
                    'Accept-Encoding: gzip,deflate'+ #13#10 +
                    'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'+ #13#10 +
                    'Keep-Alive: 300'+ #13#10 +
                    'Connection: keep-alive'+ #13#10 +
                    'Referer: http://vkontakte.ru/index.php'+ #13#10 +
                    'Cookie: '+CopyCookie('remixchk',sBuff)+';'+' '+CopyCookie('remixmid',sBuff)+';'+' '+CopyCookie('remixemail',sBuff)+';'+' '+CopyCookie('remixpass',sBuff)+ #13#10+ #13#10;
--Принимаем ответный пакет

Последний раз редактировалось wolmer; 01.09.2009 в 17:09..
 
Ответить с цитированием

  #2  
Старый 01.09.2009, 22:43
Flenov
Участник форума
Регистрация: 22.11.2008
Сообщений: 142
Провел на форуме:
636446

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

Цитата:
Сообщение от wolmer  
CopyCookie('remixpass',sBuff)
Мудрёно ты сделал.
Но всёравно спасибо!


Короче кукиса идут вот так:
PHP код:
GET WebAddr HTTP/1.0
Accept
text/html, */*
Host: WebServer (or Domain)
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Cookie: Param1=Value1; Par2=Value2; ParN=ValueN; 
Впринципе, кукиса могут ити без пробелов.

Последний раз редактировалось Flenov; 01.09.2009 в 22:46..
 
Ответить с цитированием

  #3  
Старый 02.09.2009, 16:17
righter
Новичок
Регистрация: 02.09.2009
Сообщений: 1
Провел на форуме:
643

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

Есть сайт толковый который хранит информацию о биржевых транзакциях - http://www.finam.ru/analysis/export/default.asp На звпрос пользователя он генерирует файл отчет, динамически. Есть потребность автоматизировать процесс т.е. з задаными парамертами скачивать данные для множества акций. Чтобы пограммка написанная на делфе акуратно копировала эти файлы в нужную мне папку. Наставте меня на путь вреный и легкий. Делфу знаю давно вебдизайн тоже, а вот такими вещами еще не занимался.
 
Ответить с цитированием

  #4  
Старый 01.09.2009, 16:51
dos999
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме:
183980

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

Полностью поддерживаю Nullsleep в его совете о использовании CreateThread но раз уж так хочется можно делать так:
Код:
var
  th:cardinal;
  h:integer;
begin            //
  h := beginthread(nil, 1024, @sending1, nil, 0, th);
  SuspendThread(h);//приостановить
  ResumeThread(h);//продолжить
end;
 
Ответить с цитированием

  #5  
Старый 03.09.2009, 10:39
НTL
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме:
5209663

Репутация: 357


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

Как с помощью Winsock передать картинку на антикапчу?
 
Ответить с цитированием

  #6  
Старый 03.09.2009, 11:41
crawen_s
Новичок
Регистрация: 19.07.2009
Сообщений: 17
Провел на форуме:
134119

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

как запрограмировать вычисление функции z = x16 (x в 16 степени), с использованием наименшего количества операций умножения ???
 
Ответить с цитированием

  #7  
Старый 03.09.2009, 12:15
НTL
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме:
5209663

Репутация: 357


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

Цитата:
Сообщение от crawen_s  
как запрограмировать вычисление функции z = x16 (x в 16 степени), с использованием наименшего количества операций умножения ???
Код:
a := 1;
for i := 1 to 20 do a := a * 2;
 
Ответить с цитированием

  #8  
Старый 03.09.2009, 12:22
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


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

Код:
x := x * x; => x^2 
x := x * x; => x^4
x := x * x; => x^8
y := x * x; => x^16
или как вариант
такой метод удобен когда показатель степени явзяется степенью числа 2. т.е. 16 - это 2^4

Код:
for z:=1 to sqrt(16) do x := x * x;
y := x;

итого мы получаем только 4 умножения. Учите метод быстрово возведения в степень )

А в твоем случае получилосьбы 16 умножений )

Последний раз редактировалось slesh; 03.09.2009 в 12:26..
 
Ответить с цитированием

  #9  
Старый 03.09.2009, 12:31
crawen_s
Новичок
Регистрация: 19.07.2009
Сообщений: 17
Провел на форуме:
134119

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

большое спасибо!!
 
Ответить с цитированием

  #10  
Старый 03.09.2009, 18:44
transserg
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме:
1035284

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

привет всем! как проверить скорость выполнения участка кода в программе?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2568 25.04.2026 12:58
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



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


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




ANTICHAT.XYZ