Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.5 MB
Время: 0.027 c
1-1150178314
kyn66
2006-06-13 09:58
2006.07.23
Определить кординату на панели.


1-1149788473
hgd
2006-06-08 21:41
2006.07.23
Иконки в win


15-1151218322
Nic
2006-06-25 10:52
2006.07.23
Какие преимущества даёт компонент TActionList?


15-1150783795
Ega23
2006-06-20 10:09
2006.07.23
С Днём рождения! 20 июня


15-1151048897
MsGuns
2006-06-23 11:48
2006.07.23
Доступ к объектам 1С из Делфи через COM




   Наверх