ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

30.04.2008, 21:40
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Народ, оч нужен код немного видоизменённого парсера, теперь текстовый файл имеет вид:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists">
<list name="new-group">
<display-name>Kill List</display-name>
<entry uri="sip:74933193454@sipnet.ru">
<display-name>Фомин</display-name>
</entry>
<entry uri="sip:74952595438@sipnet.ru">
<display-name>Лена</display-name>
</entry>
<entry uri="sip:78616722508@sipnet.ru">
<display-name>Глазастый</display-name>
</entry>
Ну и т.д.. В теге entry содержится номер жертвы и название.
Нужно отпарсить до вида:
Жертва: Фомин. Телефон: 74933193454
Жертва: Лена. Телефон: 74952595438
Жертва: Глазастый. Телефон: 78616722508
Попытался сам отмодифицировать имеющийся код, да где уж мне...
|
|
|

30.04.2008, 23:47
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от Nightmarе
Народ, оч нужен код немного видоизменённого парсера, теперь текстовый файл имеет вид:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists">
<list name="new-group">
<display-name>Kill List</display-name>
<entry uri="sip:74933193454@sipnet.ru">
<display-name>Фомин</display-name>
</entry>
<entry uri="sip:74952595438@sipnet.ru">
<display-name>Лена</display-name>
</entry>
<entry uri="sip:78616722508@sipnet.ru">
<display-name>Глазастый</display-name>
</entry>
Ну и т.д.. В теге entry содержится номер жертвы и название.
Нужно отпарсить до вида:
Жертва: Фомин. Телефон: 74933193454
Жертва: Лена. Телефон: 74952595438
Жертва: Глазастый. Телефон: 78616722508
Попытался сам отмодифицировать имеющийся код, да где уж мне...
Код ужасный, но работает. Убил часик на нем. Сначало показалось что легко но не так то было =)
Код:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
f,outf:TextFile;
b,a,a1:string;
x1,x2,y1,y2,i:integer;
bl:boolean;
begin
Assign(outf,'C:\\out.txt');
Rewrite(outf);
Assign(f,'C:\\file.xml');
Reset(f);
while not EOF(F)
do begin
while not EOLN(f) do
begin
read(f,a);
end;
readln(f);
x1:=pos('<display-name>',a);
x2:=pos('</display-name>',a);
y1:=pos('<entry uri="sip:',a);
y2:=pos('@sipnet.ru">',a);
a1:=copy(a,x1+length('<display-name>'),x2-x1-length('<display-name>'));
b:=copy(a,y1+length('<entry uri="sip:'),length(a)-y2);
if y2<>0 then
begin
bl:=true;
write(outf,'Телефон: ');
write(outf,b+' ');
end;
if bl=true then
if x1<>0 then begin
write(outf,'Жертва: ');
writeln(outf,a1);
write(outf);
bl:=false
end;
end;
close(outf);
end.
Вот такой результат выдает при парсинге твоего файла
Код:
Телефон: 74933193454 Жертва: Фомин
Телефон: 74952595438 Жертва: Лена
Телефон: 78616722508 Жертва: Глазастый
ЗЫ Если что-то не то, значит у тебя в ряд больше 256 символов.
Последний раз редактировалось z01b; 01.05.2008 в 00:16..
|
|
|

01.05.2008, 00:26
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от z01b
ЗЫ Если что-то не то, значит у тебя в ряд больше 256 символов.
Большое спасибо, сталкнулся с 2 проблеммами это
Телефон: 74933193454 Жертва: Фомин
Телефон: 74952595438 Жертва: Лена
Телефон: 78616722508 Жертва: Глазастый
Кодировка, и + не всю инфу выводит, строк превышающих 100 символов у меня нету
|
|
|

01.05.2008, 00:27
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от Nightmarе
Большое спасибо, сталкнулся с 2 проблеммами это
Телефон: 74933193454 Жертва: Фомин
Телефон: 74952595438 Жертва: Лена
Телефон: 78616722508 Жертва: Глазастый
Кодировка, и + не всю инфу выводит, строк превышающих 100 символов у меня нету
залей куданить файл (что парсить надо) и дай сылку.
Последний раз редактировалось z01b; 01.05.2008 в 00:30..
|
|
|

01.05.2008, 20:44
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 104
Провел на форуме: 400001
Репутация:
111
|
|
В юзес добавь систем:
Код:
uses
SysUtils, System;
Перед этим:
Код:
x1:=pos('<display-name>',a);
Поставь:
это решит проблему с кодировкой
|
|
|

02.05.2008, 13:32
|
|
Постоянный
Регистрация: 29.09.2007
Сообщений: 617
Провел на форуме: 3250478
Репутация:
999
|
|
Код:
Function Rss(Url:String):String;
Function Exists(S:String):Boolean;
begin
if (S='description') or (s='title') or (s='link') then result:=true else result:=false;
end;
var
i,k:integer;
s:String;
IdHTTP:TIdHTTP;
XMLDocument:TXMLDocument;
Begin
IdHTTP:=TIdHTTP.Create(nil);
XMLDocument:=TXMLDocument.Create(Application);
try
XMLDocument.XML.Text:= IdHTTP.Get(Url);
XMLDocument.Active:=true;
i:=0;
while i<>9 do begin
if i>XMLDocument.DocumentElement.ChildNodes[0].ChildNodes.count then break;
for k:=0 to XMLDocument.DocumentElement.ChildNodes[0].ChildNodes[i].ChildNodes.Count-1 do begin
if (XMLDocument.DocumentElement.ChildNodes[0].ChildNodes[i].ChildNodes[k].LocalName='title') and (s<>'') then s:=s+#13#10+#13#10;
if Exists(XMLDocument.DocumentElement.ChildNodes[0].ChildNodes[i].ChildNodes[k].LocalName) then
s:=s+XMLDocument.DocumentElement.ChildNodes[0].ChildNodes[i].ChildNodes[k].text+#13#10;;
end;
inc(i);
end;
result:=s;
finally
XMLDocument.Free;
IdHTTP.Free;
end;
end;
Работает:
Код:
s:=Rss('http://www.1-y.ru/nic.rss');
Ннработает:
Код:
s:=Rss('http://www.webmoney.ru/rss.xml');
И почему 2 или 1 новость?
Можно сделать так чтобы были 5-10 новостей
Последний раз редактировалось -Hormold-; 02.05.2008 в 13:41..
|
|
|

02.05.2008, 13:40
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Дай полный листинг ошибки или дай проект.
|
|
|

02.05.2008, 13:42
|
|
Постоянный
Регистрация: 29.09.2007
Сообщений: 617
Провел на форуме: 3250478
Репутация:
999
|
|
в первом понятно, это из за ошибок в rss ленте.
И почему 2 или 1 новость?
Можно сделать так чтобы были 5-10 новостей
А вот это я не понял =(
|
|
|

02.05.2008, 17:47
|
|
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме: 905389
Репутация:
332
|
|
Привет всем....
подскажитепожалста как мона прослушать определённый порт на компе.... к примеру у меня на компе прога соеденина с др компом по tcp при помощи чего (не откажусь от кода) можно прослушать обмен между моим компом и др по этому порту... к примеру возьмем порт 80... заранее благодарю....
|
|
|

02.05.2008, 19:58
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от KIR@PRO
Привет всем....
подскажитепожалста как мона прослушать определённый порт на компе.... к примеру у меня на компе прога соеденина с др компом по tcp при помощи чего (не откажусь от кода) можно прослушать обмен между моим компом и др по этому порту... к примеру возьмем порт 80... заранее благодарю....
Компонент idTcpServer - закладка Indy Servers.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|