Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение картинки кода защиты, Получение картинки кода защиты 
:(
    Опции темы
ishimcity
Дата 7.8.2007, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Хорошо загрузил я страничку в MEMO. Что дальше мне делать с ней?

Код

var
s:string;
begin
s:=idHTTP.Get('http://www.tumen.u-tel.ru/content/Services/SMSandMMS/mmssend');
memo.Lines.Text :=s;



 smile 
PM MAIL ICQ Skype YIM   Вверх
MetalFan
Дата 7.8.2007, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Цитата(ishimcity @  7.8.2007,  09:47 Найти цитируемый пост)
что такое "ПАРСИНГ" 

wiki

тебе надо выделить подстроку из строки по определнному признаку


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
ishimcity
Дата 7.8.2007, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Насколько я понял вот картинка http://mmsuser.u-tel.ru/ctrlimg/?c=0084280581 но она меняется постоянно вот это место 0084280581
PM MAIL ICQ Skype YIM   Вверх
MetalFan
Дата 7.8.2007, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



ishimcity, ну тогда алгоритм такой: находишь неизменяемую часть строки, копируешь код до опред.символа...


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
MetalFan
Дата 7.8.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Я в свое время налабал для своих нужд(выдирание определенной строки с html странички) нечто подобное:
Код

uses QStrings;
...
   function ExtractFromString( const ASourceString, AFromString, AToString: string; var AResultString: string;AFromPos: Integer = 0; const APrevString: string = ''): integer;
   var
     lPos1, lPos2: Integer;
     lTmpStr: string;
   begin
     Result := 0;
     if (ASourceString = '') or
        (AFromString = '') or
        (AToString = '') then Exit;
     if APrevString <> '' then
     begin
       lPos1 := Q_PosStr(APrevString, ASourceString, AFromPos);
       if lPos1 = 0 then Exit;
       lPos1 := lPos1 + Length (APrevString);
     end
     else
       lPos1 := AFromPos;
     lPos1 := Q_PosStr(AFromString, ASourceString, lPos1);
     if lPos1 = 0 then Exit;
     lPos1 := lPos1 + Length( AFromString );
     lPos2 := Q_PosStr(AToString, ASourceString, lPos1 + 1);
     if lPos2 = 0 then Exit;
     Result := lPos1;
     AResultString := Q_CopyRange(ASourceString, lPos1, lPos2 - 1);
   end;

только модуль QStrings надо будет слить.
описание:
Код

function ExtractFromString( const ASourceString, 
                                                     AFromString, 
                                                     AToString: string; 
                                                     var AResultString: string;
                                                     AFromPos: Integer = 0; 
                                                     const APrevString: string = ''): integer;

  ASourceString - тут понятно. исходный текст, допустим html странички
  AFromStringAToString - подстроки, между которыми должна находиться необходимая подстрока
  AResultString - найденная подстрока
  AFromPos - искать с некоторой позиции. используется при нескольких последовательных вызовах для поиска с одинаковыми условиями
  APrevString - если указана, то сначала ищется данная подстрока, и только затем с позиции после нее продолжается поиск по условиям выше
  Result - если найдена подстрока - то порядоквый номер первого символа, иначе - 0

пример использования в твоем случае 
Код

const 
  C_Prefix = 'http://mmsuser.u-tel.ru/ctrlimg/?c=';
...
  lPos := ExtractFromString( lHTMLString, C_Prefix, '>', lCode );
  if lPos > 0 then
    lLink := C_Prefix + lCode
  else
   lLink := '';

основываясь на соображении, что нужный линк заканчивается '>'

Это сообщение отредактировал(а) MetalFan - 7.8.2007, 11:48

Присоединённый файл ( Кол-во скачиваний: 28 )
Присоединённый файл  QStrings_6.06.424.zip 94,58 Kb


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
MetalFan
Дата 7.8.2007, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



з.ы. в принципе можно наверное и RegExp прикрутить... но я с ними пока не сталкивался и ничо посоветовать не могу(


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
aktuba
Дата 7.8.2007, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Попробую написать навскидку:
Код

function GetUrl: string;
const
  C_Url='http://mmsuser.u-tel.ru/ctrlimg/?c=';
var
  txt: string;
  sPos, fPos: Integer;
  ltxt: Integer;
begin
  Result := '';
  txt := IdHTTP.Get('http://www.tumen.u-tel.ru/content/Services/SMSandMMS/mmssend');
  sPos := Pos(C_Url, txt);
  if sPos > 0 then
    begin
      ltxt := Length(C_Url);
      Inc(sPos, ltxt);
      fPos := sPos;
      while (fPos <= ltxt) and (txt[sPos] <> '"') do Inc(fPos);
      Result := Copy(txt, sPos, fPos - sPos);
    end;
end;


Писал прямо в браузере, поэтому могут быть ошибки... Но идея должна быть понятна...

Это сообщение отредактировал(а) aktuba - 8.8.2007, 12:33


--------------------
user posted image
PM MAIL WWW Skype   Вверх
ishimcity
Дата 8.8.2007, 05:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Да огромное спасибо но во в этом месте мне что то непонятно.

Код

txt := Get('http://www.tumen.u-tel.ru/content/Services/SMSandMMS/mmssend');




я предположил что там должен быть метод idHTTP но увы делфи сообщила что у его нет такого оператора GET,загадка.....видимо в функции он не так работат,ну это пол беды. буду ковырять дальше




Это сообщение отредактировал(а) ishimcity - 8.8.2007, 06:44
PM MAIL ICQ Skype YIM   Вверх
MetalFan
Дата 8.8.2007, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



ishimcityaktuba привел прототип(пример) кода. естественно тебе нужно вызвать Get у используемого тобой HTTP компонента.



--------------------
There are always someone smarter than you...
PM MAIL   Вверх
aktuba
Дата 8.8.2007, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Цитата

aktuba привел прототип(пример) кода


Я это понял. Но использовать в подобном случае дополнительную библиотеку+столько кода - лишнее. Я дал вариант попроще и понятнее.

Цитата

но увы делфи сообщила что у его нет такого оператора GET


IdHTTP.Get.


--------------------
user posted image
PM MAIL WWW Skype   Вверх
ishimcity
Дата 9.8.2007, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Спасибо ребята всем +, но всеже видимо непозубам мне это все сделать  smile  жаль.... неполучается нечего
PM MAIL ICQ Skype YIM   Вверх
aktuba
Дата 9.8.2007, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Цитата

жаль.... неполучается нечего 


покажи свой код.


--------------------
user posted image
PM MAIL WWW Skype   Вверх
ishimcity
Дата 25.9.2007, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



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

procedure TForm1.Button1Click(Sender: TObject);
const
C_Url='http://mmsuser.u-tel.ru/ctrlimg/?c=';
var
  txt,ris: string;
  sPos, fPos: Integer;
  ltxt: Integer;
begin
  txt := Id.Get('http://www.tumen.u-tel.ru/content/Services/SMSandMMS/mmssend');
  sPos := Pos(C_Url, txt);
  if sPos > 0 then
    begin
      ltxt := Length(C_Url);
      Inc(sPos, ltxt);
      fPos := sPos;
      while (fPos <= ltxt) and (txt[sPos] <> '"')
      do Inc(fPos);

      ris:=Copy(txt, sPos, 10);
      
    end;

      end;
end.




ris - Это адрес картинки


Это сообщение отредактировал(а) ishimcity - 25.9.2007, 10:12
PM MAIL ICQ Skype YIM   Вверх
aktuba
Дата 25.9.2007, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Цитата

картинка меняется а у меня адрес один и тотже остается ,что мне сделать вот мой код..


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

Присоединённый файл ( Кол-во скачиваний: 53 )
Присоединённый файл  test.rar 1,54 Kb


--------------------
user posted image
PM MAIL WWW Skype   Вверх
ishimcity
Дата 25.9.2007, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



а у меня JPEG Error #42
Чего это он хочет?
 smile 
PM MAIL ICQ Skype YIM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0888 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.