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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> IdHTTP проверка есть ли сервер, и есть ли в нем нужный контент 
:(
    Опции темы
Lorigin
Дата 1.10.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Печатаю фото на холс



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 11.3.2008
Где: Москва

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



Ребят.. ломаю головку..

Забивается список адресов..
и нужно проверить с каким дополнением ( ?feed=rss2  или  /feed/) будет rss лента: делаю я это так

Код

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  Adress: string;
  List: TStringList;

begin
  list:=TStringList.create;
  for i := 0 to memo1.Lines.Count - 1 do //в мемо список адресов
  begin
    adress := memo1.Lines[i] + '?feed=rss2';  //первая проба
    list.Text := IdHTTP1.Get(adress);  //получаем
    if pos('<channel>', list.Text) <> 0 then  //получили - rss канал ли это?
    begin
      memo2.Lines.Add(adress);  //забили во второе поле ссылку
      application.ProcessMessages;
    end
    else
    begin                                                //если первая ссылка не канал
      adress := memo1.Lines[i] + 'feed/';  //пробуем второй адресс
      list.Text := IdHTTP1.Get(adress);  // получаем
      if pos('<channel>', list.Text) <> 0 then
      begin
        richedit1.Text := list.Text;
        memo2.Lines.Add(adress);
        application.ProcessMessages;
      end
      else
        memo2.Lines.Add('Нет rss');
    end;

  end;

  list.Free;

end;


собственно если сайт не отвечает то прога зависает.... =\ да и при подборе почему то ввылизит "First chance exception at $7C812AEB. Exception class EAccessViolation with message 'Access violation at address 0048D0FC in module 'Project1.exe'. Read of address 0000002C'. Process Project1.exe (1000)"


думаю что ход моих мыслей не правильный.. очень хочу примерчик и подсказок 

вот пример тех сайтов

Код

http://www.myfreesoft.ru/ 
http://bookworm.ru/  - при подстановке feed/ вылетает тот самый Access violation хотя через браузер заходит
http://startupster.ru/
http://www.iphoneapps.ru/
http://erabbit.ru/
http://seo-deluxe.ru/
http://www.france-chanson.com/ - когда пытается к нему прога зависает, в а браузере он уменя не отвечает
http://www.preveryday.ru/


PM MAIL WWW   Вверх
Matematik
Дата 1.10.2008, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 24
Всего: 50



В try except ошибку лови
http://ru.wikipedia.org/wiki/%D0%A1%D0%BF%...0%B8%D1%8F_HTTP
Код

  try
    IdHTTP1.ConnectTimeout := 30000;
    IdHTTP1.ReadTimeout := 30000;
    IdHTTP1.Get('');
  except
    on E:EIdProtocolReplyError do
    begin
      // ошибка протокола
      E.ReplyErrorCode - код ошибки, например 404 - страница не найдена
    end;
    on E:EIdConnectTimeout do
    begin
      //
    end;
    on E:EIdReadTimeout do
    begin
      //
    end;
    on E:EIdSocketError do
    begin
      // ошибка сокета
      E.LastError - код ошибки
      E.Message - сообщение
    end;
    on E:EIdDnsResolverError do
    begin
      // DNS ошибка
      E.Message - сообщение
    end;
    on E:Exception do
    begin
      // другие ошибки
      E.ClassName
      E.Message

    end;

  end;



Это сообщение отредактировал(а) Matematik - 1.10.2008, 13:20
PM MAIL WWW ICQ   Вверх
Lorigin
Дата 1.10.2008, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Печатаю фото на холс



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 11.3.2008
Где: Москва

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



Matematik, спасибо.... просто я очень мало пользовался try =\
как просто записать по поводу моей задачи?? Если ЛЮБАЯ ошибка.. пробовать следующий кусок, если и в другом куске ошибка опять же ЛЮБАЯ.. то просто пропускать сайт предположим. ? 

Оч прошу помощи, так как работаю уже 18 часов без отдыха, а сделать нужно =\  smile 

PM MAIL WWW   Вверх
MetalFan
Дата 2.10.2008, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



вообще то AV никак при нормальном раскладе в индях не должно вываливать...
какая кстати версия?


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

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

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

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

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

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


 




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


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

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