Получить html, сгенерённый php.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Получить html, сгенерённый php.

Сообщение Tarik » 24.01.2005 (Пн) 14:34

Здрасть... Длинных вступлений не будет, перейду сразу к телу :wink:
В общем, есть урл, например http://10.105.1.190/index.php. Мне нужно получить html, который будет сгенерён этим скриптом. Зачем это нужно: у нас на одном локльном серваке админ - злостный линуксоид. Очень IE не любит, знаете ли :evil: Поэтому, если скрипт видит, что я пришёл именно на вышеозначенном браузере, тут же выдаёт неприятную мессагу про то, что IE хреново держит CSS. Так вот, я хочу:
0. отлавливать событие BeforeNavigate2
1. вытаскивать из него текущий урл
2. если в нём есть "10.105.1.190", отменять навигацию
3. парсить html, выкидывая из него код мессаги
4. подсовывать этот html браузеру.

Вот. Теперь хотелось бы услышать мнения :)
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.01.2005 (Пн) 14:37

-1. Отпинать локального админа за фильтрацию User-Agent.
Lasciate ogni speranza, voi ch'entrate.

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 24.01.2005 (Пн) 14:50

Дык пинали уже, всей сеткой... Не помогает :evil:
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 24.01.2005 (Пн) 14:51

Если просто нужно решение проблемы, могу порекомендовать RMOSChange v1.5 ( http://www.nnm.ru/design/rmosc.zip ). Софтина подменяет HTTP-загловки, так что, при желании, твой админ будет уверен, что ты просматриваешь его сайт только с помощью Lynx 1.0 :)

Изображение

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 24.01.2005 (Пн) 14:55

За линк спасибо, за идею подменить заголовки тоже :-) Просто хочеца обломать своими силами :-)
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 24.01.2005 (Пн) 19:59

Ну вот, всё решилось написанием небольшой софтинки, заменяющей User-Agent. Ждём реакции админа :-)
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 26.01.2005 (Ср) 11:47

Так, продолжение следует... Админ оказался не из тех, кто легко сдаётся :-) Теперь определяет браузер каким-то java-скриптом. Есть какие-нибудь идеи? Отключение Jscript не предлагать :twisted:
Похоже, придётся всё-таки вернуться к первому варианту с парсингом html :(
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.01.2005 (Ср) 12:06

Ставь виртуальную машину с линуксом. Только я не понимаю смысла происходящего. Он не пускает на свою локальную машину или на общий сервак? Если на свою машину, пусть и сидит на Lynx-е. Если общий сервер - отпинать.
Lasciate ogni speranza, voi ch'entrate.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.01.2005 (Ср) 12:07

JavaScript выполняется на стороне клиента. Выложи его, посмотрим, как обмануть.
Lasciate ogni speranza, voi ch'entrate.

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 26.01.2005 (Ср) 12:38

alibek писал(а):Ставь виртуальную машину с линуксом. Только я не понимаю смысла происходящего. Он не пускает на свою локальную машину или на общий сервак? Если на свою машину, пусть и сидит на Lynx-е. Если общий сервер - отпинать.

Просто у него на машине стоит battle.net-овский сервак, на котором рубится пол-сети. На http тоже много чего есть, в т. ч. и статистика Bnet. Ну и при заходе IE он выдаёт мессагу про "Жалкую, подлую ишачину" (ага, текст изменился после моей проги :lol: ). Только ошибся я с Jscript, он им только мессагу выдаёт :oops: А браузер всё-таки как-то у себя определяет... Пойду ещё в инете почитаю про способы определения...
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.01.2005 (Ср) 12:59

Поставь HTTPWatch и увидишь все запросы, отправляемые серверу.
Lasciate ogni speranza, voi ch'entrate.

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 26.01.2005 (Ср) 13:46

Так... В общем, посмотрел я заголовки, которые отправляет IE, опера и мазилла.
IE писал(а):User-Agent: Mozilla/1.0 (compatible; Opera 7.23; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)

Opera писал(а):User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.53

Mozilla писал(а):User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.6) Gecko/20040407

Как видно, все, кроме IE дописывают себя после скобок. Отсюда вопрос: как полностью подменить User-Agent'а? Я сейчас меняю в ключе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent значение "Version" (так делает RMOSChanger). При этом заменяется только то, что выделено в первой цитате жирным.
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.01.2005 (Ср) 14:03

Напиши свою прогу, которая будет отсылать запросы и принимать результат. Результат пишешь во временный HTML и скармливаешь WebBrowser.
Lasciate ogni speranza, voi ch'entrate.

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 26.01.2005 (Ср) 15:04

Сейчас опять предложу софтварное решение проблемы 8)
Можно попробовать ATGuard или Proxomitron http://www.proxomitron.ru/.
Там фильтрация настраивается на уровне исходящего трафика.

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 26.01.2005 (Ср) 19:02

Можно написать мини проксик....
Кстати Proxomitron - крутая штука!
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 27.01.2005 (Чт) 11:45

Пишу небольшой прокси. Работает так. Есть два винсока: wsk1 и wsk2.
wsk1 слушает порт 8080. В IE в качестве прокси выставлено localhost:8080. При подключении к wsk1 он выдирает из запроса хост и передаёт wsk2. wsk2 подключается к хосту, отправляет чуть изменённый запрос. Дальше ему начинают приходить ответы от сервера. Приходят, ессьно, в нескольких пакетах. Так вот, как узнать, когда пришёл последний пакет и нужно отправлять все собранные данные на wsk1? Надеюсь, понятно объяснил :roll:
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.01.2005 (Чт) 11:56

Хм... А почему тебя в таком случае не устраивает Proxomitron?
Lasciate ogni speranza, voi ch'entrate.

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 27.01.2005 (Чт) 12:36

Я ж говорю - самому написать хочется :-) Лишний опыт никогда не бывает лишним :-)
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 27.01.2005 (Чт) 13:13

Tarik писал(а):Пишу небольшой прокси. Работает так. Есть два винсока: wsk1 и wsk2.
wsk1 слушает порт 8080. В IE в качестве прокси выставлено localhost:8080. При подключении к wsk1 он выдирает из запроса хост и передаёт wsk2. wsk2 подключается к хосту, отправляет чуть изменённый запрос. Дальше ему начинают приходить ответы от сервера. Приходят, ессьно, в нескольких пакетах. Так вот, как узнать, когда пришёл последний пакет и нужно отправлять все собранные данные на wsk1? Надеюсь, понятно объяснил :roll:

А ты не сразу всё отправляй, ты как только пришёл пакет - сразу же отправляй его на wsk1. И вопрос сам собой решится, и страницы грузиться быстрее будут :-)
Изображение

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 27.01.2005 (Чт) 19:34

Всё, написал 8) Всем спасибо за помощь! Снова ждём реакции админа :-)
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.01.2005 (Чт) 20:00

А поделиться?
Я когда писал прокси-сервер, у меня глюки были с загрузкой картинок; то грузились, то не грузились.
Lasciate ogni speranza, voi ch'entrate.

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 28.01.2005 (Пт) 10:56

У меня картинки вроде грузятся... Зато есть другой глюк: страница вроде загрузилась, а прогресс-бар в экплорере не исчезает :?
В общем, я его ещё поковыряю немного и выложу к вечеру.
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Inferno
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 26.01.2005 (Ср) 1:06

Re: Получить html, сгенерённый php.

Сообщение Inferno » 28.01.2005 (Пт) 12:33

Что-то я смысл не понял.
1) Осел держит СSS лучше всех остальных браузеров
2) Смысл парсить динамическую страницу?
3) А поставить другой бразер слабо?
4) Поюзай команду телнет, большинство вопросов отпадет само собой.

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 28.01.2005 (Пт) 14:24

Блин, вчера в локалке тестил - вроде ничего всё было. А сегодня решил в инете посмотреть - тоже половина картинок не грузится :?
Пойду зароюсь в MSDN - не ждите меня скоро :lol:
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Re: Получить html, сгенерённый php.

Сообщение Tarik » 28.01.2005 (Пт) 14:29

Inferno писал(а):Что-то я смысл не понял.
1) Осел держит СSS лучше всех остальных браузеров
2) Смысл парсить динамическую страницу?
3) А поставить другой бразер слабо?
4) Поюзай команду телнет, большинство вопросов отпадет само собой.

1. Оказывается, что нет. Если страницу сделать с особыми извращениями, IE не справится
2. Я парсю её результат, так что смысл-то как раз есть
3. Слабо - тут уже не столько в браузере дело, сколько в упрямстве :)
4. Не понял, причём тут телнет :?
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 28.01.2005 (Пт) 14:43

Tarik, насколько мне удалось выяснить (пока мне не надоело), картинки не грузились из-за того, что нужно закрывать сокет по окончанию закачки текущего задания (нити) и клиент переподключится к нему заново.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Majestic-12 [Bot] и гости: 16

    TopList