Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Берем данные с интернет-страницы. как это сделать?.. 
:(
    Опции темы
aktuba
Дата 18.12.2007, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Цитата(Vladimir_K @  18.12.2007,  23:05 Найти цитируемый пост)
Использовал твой код, ошибки:

Undeclared identifier: 'Post'
Undeclared identifier: 'Get'

Покажи свой код...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Vladimir_K
Дата 18.12.2007, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 2.12.2006

Репутация: нет
Всего: 1



Ошибки исправил - обычная невнимательность...
Но вот этот код не работает.

Код

unit PExp_U;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdHttp, StdCtrls, ComCtrls, ActiveX, MsHtml, IdBaseComponent,
  IdCookieManager, IdComponent, IdTCPConnection, IdTCPClient;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    RichEdit1: TRichEdit;
    IdCookieManager1: TIdCookieManager;
    IdHTTP1: TIdHTTP;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var lData: TStringList;
    IdHTTP: TIdHttp;
    HTTP: TIdHttp;
    s: string;
    i:integer;

begin
  lData := TStringList.Create;
  try
    lData.Add('login=llll');
    lData.Add('pass=llll');
    IdHTTP.Post('http://www.url', lData);
    ShowMessage(IdHTTP.Get('http://www.url'));
  finally
    lData.Free;
  end;

  RichEdit1.Clear;
  http:=TIdHTTP.Create(nil);
  try
    s:=http.Get('http://www.url');
  except
    ShowMessage('Íåò êîííåêòà ñ ñåðâåðîì');
    Exit;
  end;
  RichEdit1.Lines.Add(s);
  http.Free;

// Ищу словосочетание Your Data на странице - если вход осуществлен, эти слова найдутся.

if s<>'' then
 begin
 i:=Pos(AnsiLowerCase('Your Data'),AnsiLowerCase(s));
  if i<=0 then
   begin
    Label1.Caption:='Íåò...';
    exit;
   end
   else
   begin
    Label1.Caption:='Åñòü!';
    exit;
   end;
end;
end;
end.


Добавлено через 7 минут и 24 секунды
Слова login и pass - это должны быть те слова, которые там на странице, или нет?
Если на странице: User name: и Password: - эти слова вводить в код программы?

Это сообщение отредактировал(а) Vladimir_K - 18.12.2007, 22:55
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть
PM MAIL ICQ   Вверх
aktuba
Дата 18.12.2007, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Цитата(Vladimir_K @  18.12.2007,  23:52 Найти цитируемый пост)
Если на странице: User name: и Password: - эти слова вводить в код программы?

Нет. Названия полей надо.

Это сообщение отредактировал(а) aktuba - 18.12.2007, 23:32


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Vladimir_K
Дата 18.12.2007, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 2.12.2006

Репутация: нет
Всего: 1



Вот кусок кода страницы для ввода логина-пароля:

<td><b>User name:</b></td>
<td><input type=text name=username></td>
</tr>
<tr> 
<td><b>Password:</b></td>
<td><input type=password name=password></td>

Какие слова вводить в прогу?
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть
PM MAIL ICQ   Вверх
aktuba
Дата 19.12.2007, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



username и password


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Vladimir_K
Дата 19.12.2007, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 2.12.2006

Репутация: нет
Всего: 1



Возникает ошибка во время выполнения проги, когда жму кнопку Button1.

Access violation at address 00474CB2 in module 'PExp.exe'. Read of address 00000008.
вот в этой строке: IdHTTP.Post('http://www.url.net/pages/qw.php?pid=1', lData);

В проге я везде ввел адрес страницы, куда мне конкретно нужно зайти.

Это сообщение отредактировал(а) Vladimir_K - 19.12.2007, 08:34
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть
PM MAIL ICQ   Вверх
elementos
Дата 19.12.2007, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 10.12.2007

Репутация: нет
Всего: нет



Цитата(Vladimir_K @  19.12.2007,  08:18 Найти цитируемый пост)
вот в этой строке: IdHTTP.Post('http://www.url.net/pages/qw.php?pid=1', lData);

и где там форма входа? 

PM MAIL   Вверх
Vladimir_K
Дата 19.12.2007, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 2.12.2006

Репутация: нет
Всего: 1



Ха, а ведь действительно такая страница есть: http://www.url.net/pages/qw.php?pid=1
Я же просто вместо адреса вставил "url"  smile 

Вот точный: http://www.payingcash.net/pages/ptpstats.php?pid=1
Если это так уж необходимо.

Добавлено через 4 минуты и 19 секунд
Я ICQ указал, может кто захочет воспользоваться... Так удобнее. А конечный результат (?) уже выложить здесь?
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть
PM MAIL ICQ   Вверх
elementos
Дата 19.12.2007, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 10.12.2007

Репутация: нет
Всего: нет



мои глаза от красного цвета лопнут smile 
не могу там зарегестрироваться, дайте мне в личку како-нить действующий аккаунт с паролем, чтобы потестить
PM MAIL   Вверх
Vladimir_K
Дата 19.12.2007, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 2.12.2006

Репутация: нет
Всего: 1



Извини, чего не могу - того не могу... У меня там денюжка лежит.

К тому же там регистрация с хитростями.

Это сообщение отредактировал(а) Vladimir_K - 19.12.2007, 19:29
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть
PM MAIL ICQ   Вверх
Vladimir_K
Дата 19.12.2007, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 2.12.2006

Репутация: нет
Всего: 1



Ну а если сделать вход в почтовый ящик Яндекса?
Используется тот же принцип?

Код

unit PExp_U;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdHttp, StdCtrls, ComCtrls, ActiveX, MsHtml, IdBaseComponent,
  IdCookieManager, IdComponent, IdTCPConnection, IdTCPClient;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    RichEdit1: TRichEdit;
    IdCookieManager1: TIdCookieManager;
    IdHTTP1: TIdHTTP;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var lData: TStringList;
    IdHTTP: TIdHttp;
    HTTP: TIdHttp;
    s: string;
    i:integer;

begin
  lData := TStringList.Create;
  try
    lData.Add('username=логин');
    lData.Add('password=пароль');
    IdHTTP.Post('http://www.yandex.ru/', lData);
    ShowMessage(IdHTTP.Get('http://www.yandex.ru/'));
  finally
    lData.Free;
  end;


  RichEdit1.Clear;
  http:=TIdHTTP.Create(nil);
  try
    s:=http.Get('http://www.yandex.ru/');
  except
    ShowMessage('No connect with server.');
    Exit;
  end;
  RichEdit1.Lines.Add(s);
  http.Free;

// Поиск слова Входящие на странице - если вход осуществлен, это слово найдется.

if s<>'' then
 begin
 i:=Pos(AnsiLowerCase('Входящие'),AnsiLowerCase(s));
  if i<=0 then
   begin
    Label1.Caption:='No';
    exit;
   end
   else
   begin
    Label1.Caption:='Yes';
    exit;
   end;
end;
end;
end.

--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть
PM MAIL ICQ   Вверх
Vladimir_K
Дата 19.12.2007, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 2.12.2006

Репутация: нет
Всего: 1



Ой, не могу удержаться, чтоб не софтопить:

Страфиствюуйтэ! Я узьбекский вирюс. Па причин ужасный бэдность моей создателя и низкий уровин развитиё технология наша страна я не способин причинять какая-либа уред Ваш компютыр. Патаму очина прашю Уас, пажальста, сами сатрите какая-нибут важная для Уас файл, а патом разашлиты миня па почта другой адриса. Зарания благадарин за паниманий и сатрудничий.
 smile  smile  smile 
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть
PM MAIL ICQ   Вверх
aktuba
Дата 19.12.2007, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Цитата(Vladimir_K @ 19.12.2007,  20:26)
Ну а если сделать вход в почтовый ящик Яндекса?
Используется тот же принцип?

Код

unit PExp_U;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdHttp, StdCtrls, ComCtrls, ActiveX, MsHtml, IdBaseComponent,
  IdCookieManager, IdComponent, IdTCPConnection, IdTCPClient;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    RichEdit1: TRichEdit;
    IdCookieManager1: TIdCookieManager;
    IdHTTP1: TIdHTTP;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var lData: TStringList;
    IdHTTP: TIdHttp;
    HTTP: TIdHttp;
    s: string;
    i:integer;

begin
  lData := TStringList.Create;
  try
    lData.Add('username=логин');
    lData.Add('password=пароль');
    IdHTTP.Post('http://www.yandex.ru/', lData);
    ShowMessage(IdHTTP.Get('http://www.yandex.ru/'));
  finally
    lData.Free;
  end;


  RichEdit1.Clear;
  http:=TIdHTTP.Create(nil);
  try
    s:=http.Get('http://www.yandex.ru/');
  except
    ShowMessage('No connect with server.');
    Exit;
  end;
  RichEdit1.Lines.Add(s);
  http.Free;

// Поиск слова Входящие на странице - если вход осуществлен, это слово найдется.

if s<>'' then
 begin
 i:=Pos(AnsiLowerCase('Входящие'),AnsiLowerCase(s));
  if i<=0 then
   begin
    Label1.Caption:='No';
    exit;
   end
   else
   begin
    Label1.Caption:='Yes';
    exit;
   end;
end;
end;
end.

Почти. Только поля иначе называются + надо один дополнительный запрос делать...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Vladimir_K
Дата 20.12.2007, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 2.12.2006

Репутация: нет
Всего: 1



Вот эта часть:
Код

  lData := TStringList.Create;
  try
    lData.Add('username=s12x');
    lData.Add('password=12345');
    IdHTTP.Post('http://www.yandex.ru/', lData);
    ShowMessage(IdHTTP.Get('http://www.yandex.ru/'));
  finally
    lData.Free;
  end;

Логин и пароль от реального почтового ящика!
Этот код вводит пароль на странице, и типа нажимает кнопку "Войти"? И тогда уже можно на следующей открывшейся странице искать определенные слова и т.д.?
У меня вот в этой части во время выполнения проги возникает ошибка. Я ее приводил выше.
Правильно ли составлена эта часть кода?
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть
PM MAIL ICQ   Вверх
elementos
Дата 20.12.2007, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 10.12.2007

Репутация: нет
Всего: нет



Vladimir_K,  
мне не нужен ваш акк с денгами, мне нужен любой работающий (без денег). 
впрочем, если для вас это такие сложности - решайте свои проблемы самостоятельно.
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1027 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.