![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Взять данные со странички.... [D7, XP]
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 код в мемо
А почему и нет?