Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Взять данные со странички.... [D7, XP]


Страницы:   1 2

HF-Trade ©   (2006-07-03 22:56:00) 

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

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


HF-Trade   (2006-07-05 11:50:00) [1]

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

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


PSPF2003   (2006-07-05 10:28:00) [2]

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


_dimka   (2006-07-05 09:56:00) [3]

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

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

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


HF-Trade   (2006-07-04 21:35:00) [4]

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

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


_dimka   (2006-07-04 18:56:00) [5]

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;

попробуй так


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

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


HF-Trade   (2006-07-04 18:07:00) [7]

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


HF-Trade   (2006-07-04 17:43:00) [8]


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


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

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

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

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


_dimka   (2006-07-04 17:29:00) [9]

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


HF-Trade   (2006-07-04 17:16:00) [10]

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

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

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


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

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


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

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

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


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

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


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

>HF-Trade

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


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

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


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

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



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-03 23:51:00) [17]

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

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

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

...


Virgo_Style   (2006-07-03 23:45:00) [18]

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


HF-Trade   (2006-07-03 23:37:00) [19]

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


PSPF2003   (2006-07-03 23:31:00) [20]

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


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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо