Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.23;
Скачать: CL | DM;

Вниз

Взять данные со странички....   Найти похожие ветки 

 
HF-Trade ©   (2006-07-03 22:56) [0]

Мне нужно взять с заранее известно страницы в инете определенные данные. Например так же как это делает RegetDelux - парсит страницу на наличие ссылок...
Мне известно в каком месте странички храняться нужные мне данные.

Как мне получить страничку в текстовом виде(HTML код) в поле типа ТМемо? - т.е. тупо загрузить с инета html код в мемо.
?


 
PSPF2003 ©   (2006-07-03 23:02) [1]

Используй парсер


 
PSPF2003 ©   (2006-07-03 23:04) [2]

Где то на www.Vr-online.ru видал. Но сам не пользовался.


 
HF-Trade ©   (2006-07-03 23:29) [3]

Спасибо(тоже интересно). Но дело не в парсинге - вопрос звучал так -


> Как мне получить страничку в текстовом виде(HTML код) в
> поле типа ТМемо? - т.е. тупо загрузить с инета html код
> в мемо.
> ?


 
PSPF2003 ©   (2006-07-03 23:31) [4]

Извиняюсь не понял


> тупо загрузить с инета html код в мемо

А почему и нет?


 
HF-Trade ©   (2006-07-03 23:37) [5]

ммм=) Так надо...


 
Virgo_Style ©   (2006-07-03 23:45) [6]

Можно, например, с помощью TIdHTTP из Indy


 
HF-Trade ©   (2006-07-03 23:51) [7]

Там на сайте вход с паролем... вощем если так -

Memo1.Text:=IdHTTP1.Get(Edit1.Text);

то выдает ошибку типа - HTTP/1.1 302

...


 
Ivolg ©   (2006-07-04 00:13) [8]

Можно таким путем:



function GetInetFile(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
  Result:=False;
  sAppName := ExtractFileName(Application.ExeName);
  hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG,
        nil, nil, 0);
  try
     hURL := InternetOpenURL(hSession,
     PChar(fileURL),nil,0,0,0);
     try
        AssignFile(f, FileName);
        Rewrite(f,1);
        repeat
           InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
           BlockWrite(f, Buffer, BufferLen)
        until BufferLen = 0;
        CloseFile(f);
        Result:=True;
     finally
     InternetCloseHandle(hURL)
     end
  finally
  InternetCloseHandle(hSession)
  end
end;  

procedure TForm1.Button1Click(Sender: TObject);
var
 FileOnNet, LocalFileName: string;
begin
  FileOnNet:="http://yandex.ru/all_services.html";
  LocalFileName:="C:/Temp.txt";
  if GetInetFile(FileOnNet,LocalFileName)=True then begin
    ShowMessage("Успешная загрузка");
     Memo1.Lines.LoadFromFile(LocalFileName);
     DeleteFile(LocalFileName);
end  else
     ShowMessage("Ошибка загрузки")
end;



 
HF-Trade ©   (2006-07-04 00:25) [9]

Спасибо большое.
Щас посмотрю=)


 
Ivolg ©   (2006-07-04 00:27) [10]

>HF-Trade

Я проверил, все работает... Пожайлуста... )


 
HF-Trade ©   (2006-07-04 11:57) [11]

Еще одна трабла - на сайте пароль - т.е. меня выкидывает на страницу логина... Есть способ как нить обойти это, если логин и пасс есть.
?


 
HF-Trade ©   (2006-07-04 16:38) [12]

Неужели никто не поможет?

Я так понял надо узнать ИД сессии эксплорера.
Как его получить?


 
Квэнди ©   (2006-07-04 17:07) [13]

формат http запроса:
логин:пароль@сервер.


 
HF-Trade ©   (2006-07-04 17:16) [14]

procedure TForm1.Button1Click(Sender: TObject);
begin
IDHttp1.Request.Username:="11111";
IDHttp1.Request.Password:="22222";
Memo1.Text:=IDHttp1.Get("http://www.xxx.ru");
end;

Так не катит...

Может кто на примере покажет?


 
_dimka ©   (2006-07-04 17:29) [15]

HF-Trade ©
посмотри какие имено там параметры передаються и как, и отправь их


 
HF-Trade ©   (2006-07-04 17:43) [16]


> _dimka ©   (04.07.06 17:29) [15]


Я вообще не работал с инетом в дельфи=)

Как отправлять в душе не чаю=)

А парметры... ммм... Вот кусок страницы -

<!---
<form name=loginform id=loginform action=http://xxx.ru/login.php method=post>
--->
<form
name=loginform
id=loginform
action="http://www.xxx.ru/login.php"
method=post>


 
HF-Trade ©   (2006-07-04 18:07) [17]

Адрес конешна левый=)))))))) Ща ради интереса просто глянул на ХХХ.ру


 
Zeqfreed ©   (2006-07-04 18:43) [18]

http://www.codenet.ru/webmast/php/HTTP-POST.php#part_3


 
_dimka ©   (2006-07-04 18:56) [19]

procedure TForm1.buttonGoClick(Sender: TObject);
var
tmpParams:TStringList;
URL:string;
result:string;
begin
Form1.IdHTTP1.HandleRedirects:=true; // на случай если после ввода данных нас куда-нибудь переаддресуют
URL:="http://minwm.com/test/test.php";//это то, что указано в поле action тега form. Если в нем ничего не указано (как у тебя) - берется url текущей страницы
tmpParams:=TStringList.Create;//это будующие параметры
tmpParams.Add("login="+Form1.editLogin.Text);//добавляем логин
tmpParams.Add("password="+Form1.editPassword.Text);//пароль
result:= Form1.IdHTTP1.Post(URL,tmpParams);// метод - Post
tmpParams.Free;
end;

попробуй так


 
HF-Trade ©   (2006-07-04 21:35) [20]

К сожелению не получилось...

Может кто асю оставит?


 
_dimka ©   (2006-07-05 09:56) [21]

что именно не получилось?

> Может кто асю оставит?

http://www.delphimaster.ru/cgi-bin/anketa.pl?id=1118642468


 
PSPF2003 ©   (2006-07-05 10:28) [22]

Кстати, если интересно в книге “Андрей Боровский Программирование в D 2005”  есть пример в главе 9.


 
HF-Trade ©   (2006-07-05 11:50) [23]

Все ок.=) Я просто невнимательно посмотрел страничку=)

Огромное всем спасибо. Димке особенно.



Страницы: 1 вся ветка

Текущий архив: 2006.07.23;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.052 c
2-1151306326
XTD
2006-06-26 11:18
2006.07.23
Автоответчик (модем+комп)


2-1151664724
FFFF
2006-06-30 14:52
2006.07.23
Поис в поле формы


3-1147958886
SHD_
2006-05-18 17:28
2006.07.23
Название полей внешних ключей.


1-1149937656
V.exeR
2006-06-10 15:07
2006.07.23
gen - плагин WinAMP a с формой


15-1150983844
tButton
2006-06-22 17:44
2006.07.23
вот =)