Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Компонент idhttp Помогите плиз.

8.4K
09 июня 2006 года
ratttx
64 / / 06.06.2006
У меня такая проблема, мне нужно вытащить ХТМЛ код со странички, но не загружая ее броузером....
Я использую компонент IDHTTP и пользуюсь процедуркой
richedit.text:=IDHTTP.get(url);
Так вот с простых страничек он ХТМЛ код достает, но вот с этой ссылки: "http://suncity.combats.ru/inf.pl?login=-крутик-"
инфу он доставать не хочет, вместо нее он достает "< и симпол в виде квадратика"
А если ту же ссылку грузить через простой броузер, то траница элементарно открывается, но мне не нужно что бы страница загружалась в броузере, мне просто нужен ее ХТМЛ код в ричэдите....
Помогите мне плиз, кто знает в чем ошибка или как лучше и проще это сделать....
5.3K
09 июня 2006 года
r000n_m
177 / / 26.02.2006
Может дело в скриптах?
Тут ведь нужно передать скрипту inf.pl логин, подождать завершения обработки и лишь потом прочитать готовую страницу.
8.4K
09 июня 2006 года
ratttx
64 / / 06.06.2006
Хм... Об этом я думал, но вот как передать скрипт, да и где взять этот скрипт :( к тому же броузер грузит эту страницу с нуля (по сайту до этого ползать не надо), так что должен загружать этот скрипт.... Может поможете найти скрипт и как его отослать?????
Плизззззззз :)
5.3K
09 июня 2006 года
r000n_m
177 / / 26.02.2006
Честно говоря, в perle не силен. Скачать только этот файл (само содержимое скрипта) через http не выходит... А через ftp вообще не коннектится...
8.4K
09 июня 2006 года
ratttx
64 / / 06.06.2006
Очень жаль, этом не половину программы запарывает :-((((((((((
Может кто то еще знает, и сможет это сделать???? Я просто вообще не догоняю, как это делается, искал в инете, нашел, что то не то.... :(
ЛЮЮЮЮДИИИИ ПЛЛЛЛИИИИЗЗЗЗЗЗ ХЕЕЕЕЕЛЛЛЛЛППППППППП
5.3K
10 июня 2006 года
r000n_m
177 / / 26.02.2006
Интересно. А полностью "http://suncity.combats.ru/inf.pl?login=-крутик-" FlashGet'ом скачивается. Как надо.

соединение с suncity. combats. ru
Sat Jun 10 09:54:16 2006 Соединяемся с suncity.combats.ru [IP=85.112.148.24:80]
Sat Jun 10 09:54:17 2006 Соединение установлено
Sat Jun 10 09:54:17 2006 GET /inf.pl?login=-крутик- HTTP/1.1
Sat Jun 10 09:54:17 2006 Host: suncity.combats.ru
Sat Jun 1009:54:172006 Accept: */*
Sat Jun 10 09:54:17 2006 Referer: http://suncity.combats.ru
Sat Jun 10 09:54:17 2006 User-Agent: Mozilla/4.0 (compatible; M5IE5.00; Windows 98)
Sat Jun 10 09:54:17 2006 Pragma: no-cache
Sat Jun 10 09:54:17 2006 Cache-Control: no-cache
Sat Jun 10 09:54:17 2006 Connection: close
Sat Jun 10 09:54:17 2006 HTTP/1.1 200 OK
Sat Jun 10 09:54:17 2006 Server: 0W/0.7n
Sat Jun 10 09:54:17 2006 Date: Sat, 10 Jun 2006 05:54:09 GMT
Sat Jun 10 09:54:17 2006 Connection: Close
Sat Jun 10 09:54:17 2006 Content-Type: text/html; charset=windows-1251
Sat Jun 10 09:54:17 2006 Content-Length: 12530
Sat Jun 10 09:54:17 2006 pragma: no-cache
Sat Jun 10 09:54:17 2006 cache-control: no-cache
Sat Jun 10 09:54:17 2006 Переход б состояние [Закачка]
8.4K
10 июня 2006 года
ratttx
64 / / 06.06.2006
Хм.... И что это дало? :))))))Мне ничего обсолютно :))))
5.3K
11 июня 2006 года
r000n_m
177 / / 26.02.2006
Попробуй записать в свойства IDHTTP параметры, которые передает FlashGet.
8.4K
28 июня 2006 года
ratttx
64 / / 06.06.2006
Попробывать заполнить опции idhttp попробовал..... Только вот что то не получилось..... Орет на ошибки, которых я еще не видел, может я что не так заполнил???? Можно все по пунктам "Я тупой..." плиззззз.....
547
28 июня 2006 года
Hydra
488 / / 20.06.2006
А что-нть типа TCppWebBrowser (вкладка Internet) в дельфях отсутствует?
8.4K
28 июня 2006 года
ratttx
64 / / 06.06.2006
Вкладка интернет есть, но там нет такого бройзера - есть стндартный webbrowser или TcpClient1, сервер к нему. Только вот там гета в этом клиенте нету.... У меня Дельфя 7-я, стандартные компоненты.
5.3K
28 июня 2006 года
r000n_m
177 / / 26.02.2006
TCppWebBrowser в Borland C++ Builder и TWebBrowser в Borland Delphi - один и тот же компонент
8.4K
28 июня 2006 года
ratttx
64 / / 06.06.2006
:))) Но проку то от этих веььроузеров мне не прибавится с коипонентом indyHTTP, если вы хотите сказать, что мне надо из броузера код вынимать, то могу сразу ответить - эта штука несколько медленная и я с ним уже наработался, мне нжен именно ИДХТТП.... Или этот ИДХТТП с джавой не дружит?
339
29 июня 2006 года
verybadbug
619 / / 12.09.2005
*.pl формирует html-страничку динамически, если мне память не изменяет, т.е. в чистом виде этой страницы не существует (она формируется по результатам обработки заприса и отсылается клиенту, который этот запрос сделал).... idhtml.get скорее всего пытается скачать с сервера готовую html-страницу...

хотя может я и не прав..... нет времени щас проверять..... хелп по Indy где-то потерялся.... (
5.3K
29 июня 2006 года
r000n_m
177 / / 26.02.2006
[QUOTE=verybadbug]idhtml.get скорее всего пытается скачать с сервера готовую html-страницу...
[/QUOTE]
Похоже на это. При попытке скачать вылезает ошибка 302.

Коды третьего класса (3xx) сообщают о перенаправлениях; чтобы выполнить запрос нужны еще какие-то действия.
302 - Moved Temporarily. Ресурс временно перемещен
8.4K
29 июня 2006 года
ratttx
64 / / 06.06.2006
Ошибка 302 вылетает, когда вы кукиес запрещаете....
(я там уже все методом тыка перетыкал....)
Я понимаю, что там как раз запрос осуществляется, но я уверен что все ошибки из-за неправильного построения нашего запроса на сервер....
Есть конечно вариант(используем интренет эксплорер - все ОК), что первым с сервера скачивается скрипт, по которому осуществляется этот запрос на сервер, а уже после осуществляется реальный запрос на страничку. Вы правы, что страничка динамическая, но ведь, есть еще одно НО, ее адресс ведь не меняется, есть конечно тупой вариант, что серверу нужно некоторое время(1-100милисек) для ее построения, а после эксплорер незаметно обновляет свой запрос и получает нормальную страничку.
Я уверен, что есть способ ее вытащить с сервака, при IDHTTP, но моей сооброжалки тут не хватит...
5.3K
29 июня 2006 года
r000n_m
177 / / 26.02.2006
А мне кажется, что нужно делать в определенном порядке. Т.е. ошибкой 302 нам дали "от ворот поворот", потом, опять же кажется, нужно заполнить поля referrer и что-нибудь еще и попытаться снова
8.4K
29 июня 2006 года
ratttx
64 / / 06.06.2006
Методом тыка я уже перепытался до позеленения..... ;-))))
Есть 2 варианта.... Либо выдают те 2 символа (<+ квадратик)
либо ошибка HTTP 1.0 400 - я воть не знаю, почему у меня это вылетает....
5.3K
29 июня 2006 года
r000n_m
177 / / 26.02.2006
302-я выходит при таких параметрах.
 
Код:
IdHTTP1.Request.Host:='http://suncity.combats.ru';
   IdHTTP1.Request.Method:=hmGET;
   IdHTTP1.Request.URL:='http://suncity.combats.ru/inf.pl?login=-крутик-';
   IdHTTP1.Request.Accept:='*/*';
   IdHTTP1.Request.Referer:='http://suncity.combats.ru';
   IdHTTP1.Request.UserAgent:='Mozilla/4.0 (compatible; M5IE5.00; Windows 98)';
   IdHTTP1.Request.CacheControl:='no-cache';
   IdHTTP1.Request.Pragma:='no-cache';
   idhttp1.Request.ContentType:='text/html; charset=windows-1251';
   IDHTTP1.get('http://suncity.combats.ru/inf.pl?login=-крутик-')

А какие ставишь ты?
8.4K
29 июня 2006 года
ratttx
64 / / 06.06.2006
Мда, вообще прикол, я с такими настройками получал свои ошибки вчера. А сегодня эти настройки мне 302 ошибку выдают...... :eek:

Ставлю все, по тому списку - который у ты раньше прислал, только я это в компоненте прописываю.....
Там кстати некуда поставить несколько настроек, например графы СЕРВЕР нет и еще что то....
5.3K
29 июня 2006 года
r000n_m
177 / / 26.02.2006
[QUOTE=ratttx]
Там кстати некуда поставить несколько настроек, например графы СЕРВЕР нет и еще что то....[/QUOTE]
Это от версии Indy зависит...
8.4K
29 июня 2006 года
ratttx
64 / / 06.06.2006
Может в этом вся проблема???
5.3K
29 июня 2006 года
r000n_m
177 / / 26.02.2006
Попробовал обработать редирект
 
Код:
procedure TForm1.IdHTTP1Redirect(Sender: TObject; var dest: String;
  var NumRedirect: Integer; var Handled: Boolean;
  var VMethod: TIdHTTPMethod);
begin
 richEdit1.Text:=IdHTTP1.get(dest)
end;

Но у меня пишет Read Timeout
18K
29 июня 2006 года
stmm
3 / / 29.06.2006
Надо делать так: url:='http://suncity.combats.ru/inf.pl?login='+urlencode('-крутик-')
8.4K
29 июня 2006 года
ratttx
64 / / 06.06.2006
Хм....
У меня ругается, что этот " urlencode" - не зарегистрирован.....
Куда его зарегить то? В хелпе он вообще выглядит как процедурка к компоненту.... хз какому...
339
30 июня 2006 года
verybadbug
619 / / 12.09.2005
URLEncode - функция класса TIdURI (модуль IdURI)
использовать можно не создавая объект
8.4K
30 июня 2006 года
ratttx
64 / / 06.06.2006
Да чтоб меня!!!!!
Добавил в uses IdURI использовал код:
url:='http://suncity.combats.ru/inf.pl?login='+tIdURI.urlencode('-крутик-');
richedit1.Text:=idhttp1.Get(url);

орет на: "Protocol field is empty" - но я ведь не создавал компонет...
:(
339
01 июля 2006 года
verybadbug
619 / / 12.09.2005
tiduri.urlencode берёт протокол из url ('http://suncity...' - протокол http)....
попробуй
url := tiduri.urlencode('http://suncity.combats.ru/inf.pl?login=-крутик-');
19K
03 июля 2006 года
w2w
3 / / 03.07.2006
Когда-то давным давно....
Было время я тоже писал программу, которая вытаскивала страничку, разбирала ее и работала с данными, а еще отправляла посты на сервер по post протоколу. Все получилось не сразу и не вдруг. ;)

Пришлось найти персональный прокси сервер и ходить через него на сервачок и полностью изучить протокол взаимодействия с сервером. Проблема может быть в том, что сервер использует сессии, куки или определяет, что используется не браузер, а самопальная программа.

Я когда решал свою задачу полностью эмулировал Интернет Эксплорер, т.е. сервер думал, что с ним через IE общаются и все было ОК.
8.4K
04 июля 2006 года
ratttx
64 / / 06.06.2006
Неа, не получается :(((
url := tiduri.urlencode('http://suncity.combats.ru/inf.pl?login=-крутик-');
не пашет..... :(
8.4K
07 июля 2006 года
ratttx
64 / / 06.06.2006
[QUOTE=w2w]Когда-то давным давно....
Было время я тоже писал программу, которая вытаскивала страничку, разбирала ее и работала с данными, а еще отправляла посты на сервер по post протоколу. Все получилось не сразу и не вдруг. ;)

Пришлось найти персональный прокси сервер и ходить через него на сервачок и полностью изучить протокол взаимодействия с сервером. Проблема может быть в том, что сервер использует сессии, куки или определяет, что используется не браузер, а самопальная программа.

Я когда решал свою задачу полностью эмулировал Интернет Эксплорер, т.е. сервер думал, что с ним через IE общаются и все было ОК.[/QUOTE]


Хм..... И как этого добиться????
15K
12 июля 2006 года
Neir0
21 / / 22.06.2006
[QUOTE=ratttx]Хм..... И как этого добиться????[/QUOTE]idHTTP.request.useragent - здесь пропишите то, что передает ie серверу в поле user agent(на сколько я знаю, для бк необходим ie >5.5), типичный пример: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 2.0.50727)"
8.4K
13 июля 2006 года
ratttx
64 / / 06.06.2006
Неа, ругается на то, что "аддрес мувед" ошибка 302 помойму....
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог