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

[Delphi] Помощь по Synapse
  #1  
Старый 03.01.2009, 01:35
Apocalypse
Новичок
Регистрация: 30.07.2007
Сообщений: 20
Провел на форуме:
69606

Репутация: 2
По умолчанию [Delphi] Помощь по Synapse

Доброе время суток, форумчане.

Такой вопрос. Пишу регелку аккаунтов для сервисов соц. закладок.

Только начал. Пользуюсь пакетом Synapse для реализации сетевых запросов.

Принцип следующий:
1) Прога запрашивает капчу со страницы регистрации методом GET
2) Юзер вводит символы с капчи и отправляет POST, все остальные данные логин, пароль и е-майл, вводятся сами

Проблема - я не знаю почему но в ответе от сервера, после метода POST, приходит ошибка 411 =(
 
Ответить с цитированием

  #2  
Старый 03.01.2009, 02:42
Pir4tt
Участник форума
Регистрация: 03.01.2008
Сообщений: 104
Провел на форуме:
400001

Репутация: 111
Отправить сообщение для Pir4tt с помощью ICQ
Cool

Мм, не знаком с Синапсом, пользуюсь Indy или сокетами для сетевых программ. Но тоже встречался с этой ошибкой - твоя прога не передаёт Content-Length, в нём должен быть размер передаваемых даннх ака length(PostedData), Прописывается при сборе пакета как хост, рефер, кукисы, браузер и т.д. Так же у меня был глюк, что вроде передавал размер, но не правильной длинны - было из-за того что передавался некий текст, кодирующийся с помощью UrlEncode, в программе оставляющей только A-Z,a-z,0-9 и "_", а сервак принимал так же незакодированые "." и "*", Соответственно длина в моей проге и то что считалось на серваке не сходилось, и выдавалась та же ошибка
 
Ответить с цитированием

  #3  
Старый 03.01.2009, 19:57
Chrome~
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме:
1747641

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

Скорее всего либо не туда отправляешь, либо параметры передаешь неверные.
 
Ответить с цитированием

  #4  
Старый 19.02.2009, 23:36
PandoraBox
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
Провел на форуме:
1510937

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

Код:
unit Bugagu;

interface

uses Windows, WinInet;

  function UrlEncode(Str: string): string;
  function UrlDecode(Str: string): string;
  function GetFileData(szFile: PChar): PChar;
  procedure Send_POST_Data(Const szHost, szPath, szData: PChar);

implementation

function UrlEncode(Str: string): string;
  function CharToHex(Ch: Char): Integer;
  asm
    and eax, 0FFh
    mov ah, al
    shr al, 4
    and ah, 00fh
    cmp al, 00ah
    jl @@10
    sub al, 00ah
    add al, 041h
    jmp @@20
@@10:
    add al, 030h
@@20:
    cmp ah, 00ah
    jl @@30
    sub ah, 00ah
    add ah, 041h
    jmp @@40
@@30:
    add ah, 030h
@@40:
    shl eax, 8
    mov al, '%'
  end;
var
  i, Len: Integer;
  Ch: Char;
  N: Integer;
  P: PChar;
begin
  Result := '';
  Len := Length(Str);
  P := PChar(@N);
  for i := 1 to Len do
  begin
    Ch := Str[i];
    if Ch in ['0'..'9', 'A'..'Z', 'a'..'z', '_'] then
      Result := Result + Ch
    else
    begin
      if Ch = ' ' then
        Result := Result + '+'
      else
      begin
        N := CharToHex(Ch);
        Result := Result + P;
      end;
    end;
  end;
end;

function UrlDecode(Str: string): string;
  function HexToChar(W: word): Char;
  asm
   cmp ah, 030h
   jl @@error
   cmp ah, 039h
   jg @@10
   sub ah, 30h
   jmp @@30
@@10:
   cmp ah, 041h
   jl @@error
   cmp ah, 046h
   jg @@20
   sub ah, 041h
   add ah, 00Ah
   jmp @@30
@@20:
   cmp ah, 061h
   jl @@error
   cmp al, 066h
   jg @@error
   sub ah, 061h
   add ah, 00Ah
@@30:
   cmp al, 030h
   jl @@error
   cmp al, 039h
   jg @@40
   sub al, 030h
   jmp @@60
@@40:
   cmp al, 041h
   jl @@error
   cmp al, 046h
   jg @@50
   sub al, 041h
   add al, 00Ah
   jmp @@60
@@50:
   cmp al, 061h
   jl @@error
   cmp al, 066h
   jg @@error
   sub al, 061h
   add al, 00Ah
@@60:
   shl al, 4
   or al, ah
   ret
@@error:
   xor al, al
  end;

  function GetCh(P: PChar; var Ch: Char): Char;
  begin
    Ch := P^;
    Result := Ch;
  end;
var
  P: PChar;
  Ch: Char;
begin
  Result := '';
  P := @Str[1];
  while GetCh(P, Ch) <> #0 do
  begin
    case Ch of
      '+': Result := Result + ' ';
      '%':
        begin
          Inc(P);
          Result := Result + HexToChar(PWord(P)^);
          Inc(P);
        end;
    else
      Result := Result + Ch;
    end;
    Inc(P);
  end;
end;

function GetFileData(szFile: PChar): PChar;
var
 hFile, dwSize, dwBytes: DWORD;
begin
 Result := '';
 hFile := CreateFile(szFile, GENERIC_READ, 0, nil, OPEN_EXISTING, 0, 0);
 if hFile <> INVALID_HANDLE_VALUE then
 begin
  dwSize := GetFileSize(hFile, nil);
  Result := VirtualAlloc(nil, dwSize, MEM_COMMIT, PAGE_READWRITE);
  ReadFile(hFile, Result^, dwSize, dwBytes, nil);
 end;
 CloseHandle(hFile);
end;

procedure Send_POST_Data(Const szHost, szPath, szData: PChar);
var
  hOpenHandle, hConnectHandle, hResourceHandle: Pointer;
begin
 hOpenHandle := InternetOpen(nil, INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
 if hOpenHandle <> nil then
 begin
  hConnectHandle := InternetConnect(hOpenHandle, szHost, 80, nil, nil, 3, 0, 0);
  if hConnectHandle<>nil then
  begin
   hResourceHandle := HttpOpenRequest(hConnectHandle, 'POST', szPath, nil, nil, nil, INTERNET_FLAG_KEEP_CONNECTION, 0);
   if hResourceHandle <> nil then
    begin
     HttpSendRequest(hResourceHandle, 'Content-Type: application/x-www-form-urlencoded', 47, szData, lstrlen(szData));
    end;
    InternetCloseHandle(hResourceHandle);
   end;
   InternetCloseHandle(hConnectHandle);
  end;
  InternetCloseHandle(hOpenHandle);
end;
 
Ответить с цитированием

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

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

Люди, а может кто знает пример HTTPS клиента с использованием сокетов и библиотеки OpenSSL?

Подскажите пожал.
 
Ответить с цитированием

  #6  
Старый 24.08.2009, 17:54
2pick
Познающий
Регистрация: 17.03.2007
Сообщений: 98
Провел на форуме:
193152

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

Подскажите по этой ф-ии
PHP код:
function GetFileData(szFilePChar): PChar;
var
 
hFiledwSizedwBytesDWORD;
begin
 Result 
:= '';
 
hFile := CreateFile(szFileGENERIC_READ0nilOPEN_EXISTING00);
 if 
hFile <> INVALID_HANDLE_VALUE then
 begin
  dwSize 
:= GetFileSize(hFilenil);
  
Result := VirtualAlloc(nildwSizeMEM_COMMITPAGE_READWRITE);
  
ReadFile(hFileResult^, dwSizedwBytesnil);
 
end;
 
CloseHandle(hFile);
end
При отладке смотрю переменную result и вот косяк - текстовый файл читается замечательно, а вот бинарник только первые 5-10 байт. Как победить?

Последний раз редактировалось 2pick; 24.08.2009 в 21:14..
 
Ответить с цитированием

  #7  
Старый 27.08.2009, 09:42
Magister Yoda
Новичок
Регистрация: 14.08.2009
Сообщений: 16
Провел на форуме:
33794

Репутация: 0
Отправить сообщение для Magister Yoda с помощью ICQ
Question

интересует ответ хотя бы на один из вопросов:
1. как перекинуть куки из Synapse в Indy?
Код:
Form1.IdCookieManager1.AddCookie(HTTP.Cookies.Text,'XXX.com');
Form1.Memo1.Text:=Form1.IdHTTP1.Get('http://XXX.com/');
при выполнении form1.idhttp1.get пишет HTTP/1.1 400 Bad Request.
программу ничто не блокирует и сайт доступен

2. Есть ли в Synapse что-то наподобии TIdMultiPartFormDataStream, если да то как его юзать?
 
Ответить с цитированием

  #8  
Старый 28.08.2009, 10:56
denisov21g21
Banned
Регистрация: 01.07.2009
Сообщений: 21
Провел на форуме:
38138

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

служба поддержки VDS manager
591-493-245
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Bulletprof hosting, сервера и домены от nevalhost neval Хостинг, Dedicated, VDS, Сервера - Покупка, продажа 26 08.01.2010 17:34
нужна гуманитарная помощь Грызло АнтиАдмин 4 03.02.2005 22:40



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


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




ANTICHAT.XYZ