Открыть браузер по-умолчанию + Post запрос

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
NightStorm
Новичок
Новичок
 
Сообщения: 33
Зарегистрирован: 09.06.2008 (Пн) 18:30

Открыть браузер по-умолчанию + Post запрос

Сообщение NightStorm » 11.03.2009 (Ср) 13:37

Поиском ничего не нашёл. Может плохо искал...

Подскажите, как открыть браузер по умолчанию и при этом послать в него Post запрос? Нужно это, чтобы при нажатии на кнопку в проге открывался дефолтный браузер и в нём на определенном сайте открывалась сраничка с Личными сообщениями, для чего необходимо автоматически авторизироваться на сайте, а для этого необходимо отправить Post запрос на сайт.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение iGrok » 11.03.2009 (Ср) 14:04

Никак.
label:
cli
jmp label

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение MIT » 11.03.2009 (Ср) 14:11

Можно самому синтезировать куки, подсовывать их браузеру и запускать его по прямому линку.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Williams » 11.03.2009 (Ср) 14:44

Можно создать HTML файл с пост формой и запускать его
И вы думаете, что вас оставят в живых после прочтения этого поста?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Хакер » 11.03.2009 (Ср) 15:58

Почему это никак?
(Хотя нет, никак, толкьо с IE прокатит)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Snussi
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 151
Зарегистрирован: 21.07.2004 (Ср) 18:08
Откуда: Москва, Россия

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Snussi » 11.03.2009 (Ср) 16:04

Открыть специально подготовленный html с javascript'ом, который запостит данные куда надо - может так?

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Williams » 11.03.2009 (Ср) 17:29

Snussi писал(а):Открыть специально подготовленный html с javascript'ом, который запостит данные куда надо - может так?

Да, яваскрипт, наверное, понадобится
И вы думаете, что вас оставят в живых после прочтения этого поста?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Хакер » 11.03.2009 (Ср) 19:37

Надо полагать в файле будет что-то вроде этого?
Код: Выделить всё
postform.user.value = 'Foo';
postform.password.value = 'Bar';
postform.submit();
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Snussi
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 151
Зарегистрирован: 21.07.2004 (Ср) 18:08
Откуда: Москва, Россия

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Snussi » 11.03.2009 (Ср) 19:52

Хакер писал(а):Надо полагать в файле будет что-то вроде этого?
Код: Выделить всё
postform.user.value = 'Foo';
postform.password.value = 'Bar';
postform.submit();

Трудно сказать - все зависит от реализации формы (вдруг она аяксная, например).

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Хакер » 11.03.2009 (Ср) 20:05

Да не важно какая, там будет лежать открытый логин и пароль?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Snussi
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 151
Зарегистрирован: 21.07.2004 (Ср) 18:08
Откуда: Москва, Россия

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Snussi » 11.03.2009 (Ср) 20:07

Я бы сделал динамическую генерацию данного HTML.
Хотя не уверен в абсолютной правильности данного решения.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение awl100Alex » 12.03.2009 (Чт) 12:17

NightStorm писал(а):Подскажите, как открыть браузер по умолчанию и при этом послать в него Post запрос? Нужно это, чтобы при нажатии на кнопку в проге открывался дефолтный браузер и в нём на определенном сайте открывалась сраничка с Личными сообщениями, для чего необходимо автоматически авторизироваться на сайте, а для этого необходимо отправить Post запрос на сайт.


Не совсем понятно, что ты имел виду под словами "дефолтный браузер"? Дефолтные браузеры бывают разными - это какой сам установишь, но если через стандартный IE, то делается все это довольно просто.
Вот тебе
пример кода для доступа на почтовый сервер mail.ru с автоматической авторизацией.
Переделай его под свои конкретные нужды. Ведь ты понимаешь, что для твоей сранички с личными данными значения .elements будут другими! Это нужно смотреть через вскрытие исходного кода HTTP страницы входа. :)
Код: Выделить всё
Private Sub Command1_Click()
'Создаем объект InternetExplorer...
Status.Caption = "Создаем объект InternetExplorer..."
Set WebIE = CreateObject("InternetExplorer.Application")
If WebIE Is Nothing Then
  MsgBox "Объект InternetExplorer не создан!", vbCritical: End
End If
With WebIE
  .Navigate "http://mail.ru/" 'Адрес сервера...
  Status.Caption = "Загрузка сервера mail.ru, ожидайте..."
  Do While .Busy: DoEvents: Loop
  Set WebForm = .Document.Forms("Auth")
   If WebForm Is Nothing Then
    MsgBox "Не могу получить доступ к HTTP-страницы! Иногда такое бывает. :(", vbCritical
    Set WebIE = Nothing: End
   End If
   With WebForm
    .elements("Login").Value = "Твой Логин"
    .elements("Domain").Value = "mail.ru" 'или inbox.ru... bk.ru... list.ru...
    .elements("Password").Value = "Твой Пароль"
    .elements("level").Value = "1" 'Вот это еще должно работать, но... :(
    .submit 'Оправляем...
   End With
  Status.Caption = "Загрузка авторизованного входа, ожидайте..."
  Do While .Busy: DoEvents: Loop
  Status.Caption = "Выполнено! Добро пожаловать! :)"
  .Visible = True
End With
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set WebForm = Nothing
Set WebIE = Nothing
End Sub
Вложения
AutoInput.rar
Доступ к Mail.ru с автоматической авторизацией
(1.79 Кб) Скачиваний: 61

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Хакер » 12.03.2009 (Чт) 12:24

awl100Alex уже второй раз показывает своё неумнение/нежелание читать.

Автор просил универсальное решение для любого броузера, установленного в системе в качестве броузера по умолчанию, а не ждя IE.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение awl100Alex » 12.03.2009 (Чт) 12:37

Хакер писал(а):Автор просил универсальное решение для любого броузера, установленного в системе в качестве броузера по умолчанию, а не

Повторяю специально для тебя...
awl100Alex писал(а):Не совсем понятно, что ты имел виду под словами "дефолтный браузер"? Дефолтные браузеры бывают разными - это какой сам установишь...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Хакер » 12.03.2009 (Чт) 12:41

Не надо повторять. Всем, за исключением тебя, понятно, что имелось в виду под "дефолтным броузером".

Пуск->Панель управления->Выбор программ по умолчанию->"Выберите используемый по умолчанию обозреватель Интернета".
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение awl100Alex » 12.03.2009 (Чт) 12:58

А если в системе нет вообще никаких браузеров от сторонних производителей (по статистике 60-70% используют именно IE), то каким будет дефолтный браузер???
Хади сюдой...
http://www.artlebedev.ru/tools/browsers/
http://bbrowser.ru/statistika-ispolzova ... rt-2008-g/

Ну нет универсальных решений, что ж тут поделаешь! А если кто знает, то милости прошу – код в студию! :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Хакер » 12.03.2009 (Чт) 13:02

А если в системе нет вообще никаких браузеров от сторонних производителей (по статистике 60-70% используют именно IE), то каким будет дефолтный браузер???

То IE и будет дефолтным броузером.

Хади сюдой...

Не пойду. Я прекрасно знаю статистику.

Ну нет универсальных решений, что ж тут поделаешь!

То, что универсальных решений нет, не значит, что нужно выкладывать сюда неуниверсальное и к тому же очевидное для всех рещение. Особенно, учитывая, что выше было предложено решение, которое всё-таки претендует на звание универсального.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение awl100Alex » 12.03.2009 (Чт) 16:32

Хакер писал(а):То IE и будет дефолтным броузером.

Ты правильно понял... Мой вопрос и был намеком на твое утверждение. :)

Хакер писал(а):То, что универсальных решений нет, не значит, что нужно выкладывать сюда неуниверсальное и к тому же очевидное для всех рещение. Особенно, учитывая, что выше было предложено решение, которое всё-таки претендует на звание универсального.

Нравится мне это слово “претендует” – оно звучит как-то... с надеждой! :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Хакер » 12.03.2009 (Чт) 16:41

Мой вопрос и был намеком на твое утверждение.

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

Автор просил универсальный способ. Ты выложил неуниверсальный, очевидный всем. Зачем писать в тему то, что всем очевидно, если это кроме того нафиг никому не нужно?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение awl100Alex » 12.03.2009 (Чт) 16:43

Ок! Эту тему закрыли!

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение SSecurity » 13.03.2009 (Пт) 10:57

Я так понимаю если мы в систему передадим "пойди по адресу", например через ShellExecute ... то и получим дефолтовый браузер. ну и как говорилось ранее рисуем там форму, JS и наслождаемся.

вот к примеру, у меня открылась опера :) ну что поделать у меня такой браузер по умолчанию
Код: Выделить всё
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Form_Load()
  ShellExecute hwnd, "open", "http://localhost/", "", "", 1
End Sub


Хотя на мой чисто непроф. взгляд, лучше было запостить форму через тотже WinHTTPRequest и без следов практически ... если конечно дело под виндой происходит ... можно в принципе и через Сокет послать ... но это рисовать дольше + пара функций преобразования кодировки и самих данных чтобы на форму похожи были :)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение awl100Alex » 13.03.2009 (Пт) 13:04

SSecurity
Сейчас тебя Хакер "раздавит" за этот пост. :( Так что удаляй, пока не поздно!

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение SSecurity » 13.03.2009 (Пт) 13:13

awl100Alex писал(а):SSecurity
Сейчас тебя Хакер "раздавит" за этот пост. :( Так что удаляй, пока не поздно!


:) в моем случае - решение универсальное ... хотябы потому что Windows запустит тот самый браузер по-умолчанию. Это если автору интересно сделать именно это. Другой вопрос юрл на который ссылается у меня задан юрулом:) потому что у меня есть http-сервер на машине ... а нужно просто указать на htm файл на диске ... в данном случае откроется то что его открывает (если конечно в системе не предусмотрено например htm открывать зендер клиентом:) ) тогда случай действительно тяжелый :)

кстати говоря у юзера может быть отключен JS и тогда будет Ж:)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Хакер » 13.03.2009 (Пт) 13:13

awl100Alex писал(а):SSecurity
Сейчас тебя Хакер "раздавит" за этот пост. :( Так что удаляй, пока не поздно!

Не раздавит.

А вот тебя за оффтопик вполне может, выдав замечание.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение iGrok » 13.03.2009 (Пт) 14:15

SSecurity писал(а):Я так понимаю если мы в систему передадим "пойди по адресу", например через ShellExecute ...

А вот это по-моему очень даже реальная мысль.
Причём даже рисовать ничего особо не надо. Я так понимаю, программа ЗНАЕТ и логин, и пароль, и имя сайта, и поля под логин и пароль..

Тогда действительно можно поднять "внутренний" сервер на localhost на каком-нить радномном порту (не 80, мало ли у человека уже веб-сервер стоит)
Дать браузеру через ShellExecute "http://localhost:<port>", после чего отдать ему страницу с заполненной формой и скриптом отправки с таймаутом скрипта в пару секунд на нужный сайт.. Пробема будет только в том случае, если сайт для логина требует корректного реферера..

З.Ы.
Создание простого веб-сервера на VB было, ЕМНИП, в одной из статей на vbstreets.ru.

З.З.Ы.
.htm файл на диске мне лично не нравится по той причине, что его действительно может открывать на браузер, а какая-нить левая софтина. У меня, к примеру, их открывает по умолчанию PHP Expert Editor..
Ну и плюс, пароль и логин в открытом виде лежат на винте.. Плохо это.
label:
cli
jmp label

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Хакер » 13.03.2009 (Пт) 14:19

Не всегда получится поднять локальный сервер.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение SSecurity » 13.03.2009 (Пт) 14:52

Так ведь никто не мешает в своей программе сделать этот веб-сервер .... только зачем? Если нужно открыть локальный файл, то явно в нем нет авторизации :) зато есть логин и пароль ... не проще ли собрать заголовок аналогичный отправляемому браузером с уже заполненными полями формы и отправить?

И мароки меньше и юзер удивляться не будет что это тут браузер у него открывается :)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение iGrok » 13.03.2009 (Пт) 14:58

SSecurity писал(а):Так ведь никто не мешает в своей программе сделать этот веб-сервер .... только зачем? Если нужно открыть локальный файл, то явно в нем нет авторизации :) зато есть логин и пароль ... не проще ли собрать заголовок аналогичный отправляемому браузером с уже заполненными полями формы и отправить?

И мароки меньше и юзер удивляться не будет что это тут браузер у него открывается :)


NightStorm писал(а):Нужно это, чтобы при нажатии на кнопку в проге открывался дефолтный браузер и в нём на определенном сайте открывалась сраничка с Личными сообщениями...


Конечно проще. Только потом как ты ответ сервера отдашь дефолтному браузеру? Причём, чтобы у него ещё и авторизация сохранилась?


Хакер писал(а):Не всегда получится поднять локальный сервер.

Ну тогда самым универсальным остаётся генерация .htm-файла, и отправка его браузеру через
Shellexecute ... "file:///path_to/file.htm"

Но почему он мне не нравится я уже писал..

З.Ы.
А почему может обломаться поднятие ЛОКАЛЬНОГО сервера? На localhost, недоступного извне.. Фаерволлы же обычно активность на localhost не блокируют.

З.З.Ы. "Под поднятием" я не имею в виду, что нужно поднимать апач =). Я имею в виду, что мы открываем порт, и обрабатываем приходящие на него HTTP запросы. Сами. Ну или отдельным модулем. Но тоже своим. Суть не особо меняется.
label:
cli
jmp label

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение Хакер » 13.03.2009 (Пт) 20:41

Я тоже имел в виду не апач.
Проблемы могут быть как с самим сервером, так и с броузером (например, броузер может работать через прокси, не обращая внимания на локальность ресурсов).
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Открыть браузер по-умолчанию + Post запрос

Сообщение iGrok » 13.03.2009 (Пт) 21:12

Хакер писал(а):Я тоже имел в виду не апач.
Проблемы могут быть как с самим сервером, так и с броузером (например, броузер может работать через прокси, не обращая внимания на локальность ресурсов).

Кхмда. О прокси действительно не подумал.
Ну тогда только "file:///..."
label:
cli
jmp label

След.

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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 13

    TopList