И в чем проблема? есть ф-ии Pos, Copy, Del читаем как они работают и парсим Например так Code: function ParseToken(Redirect:string): string; var a, b: integer; begin Result := ''; if (Redirect = '') then Exit; a := Pos('access_token=', LowerCase(Redirect)); if a = 0 then Exit else a := a + 13;//Length('access_token='); Redirect := Copy(Redirect, a, Length(Redirect) - a + 1); b := Pos('&expires_in', LowerCase(Redirect)); if b > 0 then Result := Copy(Redirect, 1, b - 1); end;
Знатоки подскажите, можно ли через API функции работы с файлами удалить из файла самую первую строку (не сделать пустой, а именно удалить) ? используя AssignFile и прочие API функции. Файл большой, несколько гигов, возможно ли это без изврата? т.е. без перезаписи в другой файл, и без циклического чтения всех строк, т.к. их там много, и читаться они все будут долго. Буду признателен за пример, если такое реализовать вообще возможно технически.
Нужно подключится к POP3 серверу по SSL . Везде написано что требуется лишь подключить модуль. Подключил. Пытаюсь подключиться к серверу под SSL портом... ничего не выходит ( Использую Synapse, модуль POP3send .
Подскажите, можно ли как-то форму заставить работать через proxy? То есть что бы все что на ней лежало, все компоненты (ну естеcственно только те, которые связаны с сетью) работали через этот заданный мною прокси сервер.
Ребят, только зарегистрировалась. Извините, если что то не так напишу) У меня такой вопрос. подскажите, можно ли взломать почту майл.ру ????
Я перехватываю функцию ZwSetValueKey. Как получить путь, имя и значение которую пытаются писать в реестр? [ Delphi 7 ] function NewZwSetValueKey(KeyHandle : HANDLE; ValueName : PUNICODE_STRING; TitleIndex : ULONG; Type_ : ULONG; Data : PVOID; DataSize : ULONG): NTSTATUS; stdcall; begin //========/// TZwSetValueKey(KeyHandle, ValueName, TitleIndex, Type_ , Data, DataSize); //========/// end;
имя и значение располагаются соответственно в valuename и data, при чем параметр type_ определяет тип данных в data, а вот путь хз как вытащить, в явном виде он не приходит сюда, есть только keyhendle
А вот а пример работы webbrower через proxy var Form1: TForm1; i:Integer; implementation {$R *.dfm} procedure proxy(text:string); var PIInfo: PInternetProxyInfo; begin New(PIInfo); PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY; PIInfo^.lpszProxy:=(PAnsiChar(text)); PIInfo^.lpszProxyBypass := PChar(''); UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo, SizeOf(Internet_Proxy_Info), 0); Dispose(PIInfo); end; procedure DeleteIECache; var lpEntryInfo: PInternetCacheEntryInfo; hCacheDir: LongWord; dwEntrySize: LongWord; begin dwEntrySize := 0; FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize); GetMem(lpEntryInfo, dwEntrySize); if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize; hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize); if hCacheDir <> 0 then begin repeat DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName); FreeMem(lpEntryInfo, dwEntrySize); dwEntrySize := 0; FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize); GetMem(lpEntryInfo, dwEntrySize); if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize; until not FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize); end; FreeMem(lpEntryInfo, dwEntrySize); FindCloseUrlCache(hCacheDir); end; procedure EndBrowserSession; begin InternetSetOption(nil, INTERNET_OPTION_END_BROWSER_SESSION, nil, 0); end; procedure TForm1.BitBtn3Click(Sender: TObject); begin TabSheet1.Show; Timer1.Interval:=StrToInt(SpinEdit1.Text)*60000;//устанавливаем таймаут смены прокси Timer1.Enabled:=True; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin if OpenDialog1.Execute=true then ListBox1.Items.LoadFromFile(OpenDialog1.FileName);//загружаем прокси в ListBox1 end; procedure TForm1.BitBtn2Click(Sender: TObject); begin ListBox1.Items.Delete(ListBox1.ItemIndex);//если надо удоляем прокси с листа end; procedure TForm1.BitBtn4Click(Sender: TObject); begin ListBox1.Clear;//полная очистка ListBox1 end; procedure TForm1.FormCreate(Sender: TObject); begin i:=0; //при старте возвращаемся к началу прокси листа end; procedure TForm1.Timer1Timer(Sender: TObject); begin DeleteIECache; //Очищаем кеш EndBrowserSession; //завершаем сисию if i=ListBox1.Items.Count-1 then //цыкл смены прокси в ListBox1 begin BitBtn5.click; end else begin i:=i+1;//прибовляем по одному прокси proxy(ListBox1.Items.Strings);//подрубаем прокси WebBrowser1.Navigate(Edit1.Text); end; end; procedure TForm1.BitBtn5Click(Sender: TObject); begin Timer1.Enabled:=False;//если надо останавливаем работу end; end.
вк не могу добавить комментарий к записи Code: [B]без капчи отправляется все прекрасно:[/B] PostData.Clear; PostData.Add('message='+form1.memo6.lines.Strings[randpost]); PostData.Add('act=post'); PostData.Add('al=1'); PostData.Add('hash='+hash); PostData.Add('reply_to='+id+'_'+post); PostData.Add('reply_to_user=0'); PostData.Add('type=feed'); html:=form1.idhttp1.Post('http://vk.com/al_wall.php',PostData); [B]C капчей:[/B] PostData.Clear; PostData.Add('message='+form1.memo6.lines.Strings[randpost]); PostData.Add('act=post'); PostData.Add('captcha_sid='+ParseStr(html,'<!>2<!>','<!>')); PostData.Add('captcha_key='+captcha(ParseStr(html,'<!>2<!>','<!>'))); PostData.Add('al=1'); PostData.Add('hash='+hash); PostData.Add('reply_to='+id+'_'+post); PostData.Add('reply_to_user=0'); PostData.Add('type=feed'); html:=form1.idhttp1.Post('http://vk.com/al_wall.php',PostData); отправляю валидные данные, капча кей,сид, а он все равно в ответку отправляет [B]13814<!><!>0<!>6504<!>2<!>428025875569<!>1[/B] подскажите, в чем проблема?