|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
16.07.2007, 09:05 | #11 |
Пользователь
Регистрация: 13.07.2007
Сообщений: 60
|
именно!!!
если ты запустиш програмку из под делфи а не скомпилированную то увидеш что уже после первого пост запроса происходит ошибка! в которой он говарит что серверу не нравится мой запрос |
21.07.2007, 20:16 | #12 |
Форумчанин
Регистрация: 21.07.2007
Сообщений: 103
|
Может и мне кто-нить подскажет (желательно с примером):
get - получаю код страницы, но мне выдает ошибку "404" (когда сам захожу ошибку не выдает), потому что там стоит хитрый редирект. Вот такой: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Ну наконец-то вижу настоящего мужчину 404</title> </head> <SCRIPT LANGUAGE="JavaScript"> <!-- var url_array = new Array(); url_array.push("http://site.com"); window.location = url_array[Math.round(Math.random() * (url_array.length - 1))]; --> </SCRIPT> <body> </body> </html> Вопрос: можно как-нить программно реализовать такую ситуцию: прога заходит на сайт, на котором стоит редирект, а потом не выкидывает ошибку, а переходит по редиректу на другой сайт? Наверняка можно, ведь, не знаю почему, но когда я сам захожу на эту страницу меня редиректит нормально, а когда делаю get-запрос-выкидывает "404". Помогите, кто знает - очень нужна такая прога... |
22.07.2007, 11:11 | #13 |
Форумчанин
Регистрация: 21.07.2007
Сообщений: 103
|
Блин, неужели никто не знает, как обойти эту ошибку "404" и сделать get ссылки, прописанной в редиректе?
|
22.07.2007, 11:16 | #14 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
Вы понимаете разницу между серфом страницы и get-ом страницы ?
методом GET вы не можете выполнять js. Можете только проанализировать действие скрипта и его сэмулировать. Либо воспользоваться twebbrowser. И потом забрать текст страницы, после редиректа
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
22.07.2007, 12:10 | #15 |
Форумчанин
Регистрация: 21.07.2007
Сообщений: 103
|
Да, понимаю. Но я не знаю как реализовать серф страницы, даже после прочтения книги, выложенной у Вас на сайте ничего по этой теме не нашел.
А можно поподробней, как именно я могу выполнить редирект на странице, а потом забрать текст? Буду признателен за примерчик. |
22.07.2007, 12:32 | #16 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
компонент Webbrowser (вкладка Internet)
метод navigate(открывает страницу) функция: function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean; var ps: IPersistStreamInit; ss: TStringStream; sa: IStream; s: string; begin ps := WebBrowser.Document as IPersistStreamInit; s := ''; ss := TStringStream.Create(s); try sa := TStreamAdapter.Create(ss, soReference) as IStream; Result := Succeeded(ps.Save(sa, True)); if Result then ACode.Add(ss.Datastring); finally ss.Free; end; end; получит HTML открытой страницы
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
22.07.2007, 12:56 | #17 |
Форумчанин
Регистрация: 21.07.2007
Сообщений: 103
|
Все равно мне не понятно (начинаю только):
во-первых, ругается на это: ps: IPersistStreamInit; во-вторых, не понятно куда вообще здесь адрес страницы вписывать; в-третьих, мне по сути код страницы после редиректа и не нужен, мне нужно просто, что бы произошел редирект с той страницы на новую, и соответственно статистика сайта засчитала это как посещение страницы. Это можно как-нить реализовать с помощью Indy? Или другим методо, но если можно с объяснением. пысы: извините, если сильно напрягаю или тупые вопросы задаю, просто мне это действительно очень важно, а пока что я не въехал в саму суть процесса. |
22.07.2007, 13:05 | #18 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
1. В uses добавь ActiveX
2. Адрес страницы указывается в методе navigate компонента webbrowser 3. Несколько вариантов: по циклу делай метод Navigate (очень не надежно) в компоненте webbrowser есть событие , срабатывающее после окончания открытия страницы) На это событие и открывай её еще раз Если тебе текст страницы не нужен, то функция GetHTMLCode тебе и не нужна, соответственно удали её и uses тогда добавлять ничего не надо
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
22.07.2007, 13:44 | #19 |
Форумчанин
Регистрация: 21.07.2007
Сообщений: 103
|
ступил
Как его описать? webbrowser.navigate('http://site.com?'); Так?
Последний раз редактировалось trafbite; 22.07.2007 в 14:24. Причина: ступил |
22.07.2007, 14:25 | #20 |
Форумчанин
Регистрация: 21.07.2007
Сообщений: 103
|
А еще вопрос, можно как-нить в компоненте Internet использовать прокси?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WebBrowser POST | micq | Компоненты Delphi | 5 | 19.09.2008 21:37 |
post запрос | Editor | Работа с сетью в Delphi | 4 | 20.04.2008 14:01 |
POST | Stanislav | Работа с сетью в Delphi | 3 | 03.03.2008 18:05 |
Все тот же IdHTTP (Post) | AVer | Работа с сетью в Delphi | 5 | 28.09.2007 10:40 |
HTTP POST | SJMS | Работа с сетью в Delphi | 15 | 30.05.2007 13:36 |