Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
ВнизВзять данные со странички.... Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.021 c