AxWebBrowser refresh/reload not working!

  • Thread starter Thread starter Martin Ho
  • Start date Start date
M

Martin Ho

Hey Everyone,

I really hope there is someone who can figure out this problem.
Honestly, I spent 3 days now trying to find the solution, but nothing
works.

I'll try to explain the problem shortly, so I don't take too much of
your time.

Problem:
On the form I have AxWebBrowser box, and I load the page in it,
normally you would do it like this:


Dim finalurl as string =
"http://www.mysite.com/example.php"
AxWebBrowser1.Navigate2(finalurl)


I set up a timer1 tick to go off every 10 minutes.
Example.php I am trying to load is a php script which comes up to have
different variables everytime you reload/refresh it.

In my case everytime I call the page, variables are the same. It never
refreshes it.

So I did my research and there was a suggestion to do this:

[code:1:15d0242051]
AxWebBrowser1.Refresh2(finalurl)
AxWebBrowser1.Navigate2(finalurl)
[/code:1:15d0242051]


So I did another research and there was a suggestion to do this:

[code:1:15d0242051]
Dim finalurl as string =
"http://www.mysite.com/example.php"
Dim REFRESH_COMPLETELY As Object = 3
AxWebBrowser1.Refresh2(REFRESH_COMPLETELY)
AxWebBrowser1.Navigate2(finalurl)
[/code:1:15d0242051]

Well, this didn't work either.
So after another day of browsing Google, I found that someone
suggested to do this:

[code:1:15d0242051]
Private Enum BrowserNavConstants As Integer
navOpenInNewWindow = &H1
navNoHistory = &H2
navNoReadFromCache = &H4
navNoWriteToCache = &H8
navAllowAutosearch = &H10
navBrowserBar = &H20
navHyperlink = &H40
End Enum
[/code:1:15d0242051]

and then call AxWebBrowser like this, so it is using property called:
navNoReadFromCache

[code:1:15d0242051]
AxWebBrowser1.Navigate2(finalurl,
BrowserNavConstants.navNoReadFromCache, Nothing, Nothing,
Nothing)
[/code:1:15d0242051]

Well, this doesn't work either and my application is not refreshing
the values, which I need to bring into the program.

Guys, I am really lost and I've got to the point of resignation. I
simply can't get it to work and no one can figure out how to do
this.

Someone suggested to delete cookies and temporary cache files which
this php page is creating.
But that is not easy, location differs from pc to pc, and from
platform to platform and I really believe, that there should be some
other way of doing it.

Now, one valid point and that might be a help.
While application is running and refreshing values every 10 minutes,
NOTHING CHANGES, variables are still the same.
But if I open my Internet Explorer and go to the page (example.php),
it shows me updated values.
And my program as if someone used a magic stick, refreshes too.

So, what should I do? Is there any, and I mean any way, to refresh,
reload AxWebBrowser?
Any way to make it, so it doesn't read the page from cache?

Please, your help will be greatly appreciated.

Martin Ho.
 
Martin,

Probably you want something as this.

\\\\
Module main
Public Sub main()
Dim myReg As Net.HttpWebRequest = _
DirectCast(Net.WebRequest.Create("http://www.google.com"), _
Net.HttpWebRequest)
Dim myResp As Net.HttpWebResponse = _
DirectCast(myReg.GetResponse(), Net.HttpWebResponse)
Dim myStream As IO.Stream = myResp.GetResponseStream()
Dim myreader As New IO.StreamReader(myStream)
Dim mystring As String = myreader.ReadToEnd()
myResp.Close()
End Sub
End Module
///

Instead of the webbrowser

I hope this helps a little bit?

Cor
 
This I tried already...

it works fine for http://www.mysite.com/example.php

But not for http://www.mysite.com/example.php?name=joe&password=joepsw

which is the real path to login user...

I need to retrieve the html code of the page which comes after my user
is logged in...
So it really is the second page, which I can't hit without first
hitting this first one...

Any ideas on how to pass variables first and than retrieve the html
source code right after redirect from the first page to second?

martin
 
Martin,

When it was an asp page, I maybe had the answer however it is PHP.

What in ASP would happen is that you get a page back.
Get the URL and ask that as second form.
Because when it is ASP or ASPX then the intern action would probably be
Response.redirect("url"), so why not do that by hand again.

What I don't know if there is an hidden token in that page, that is set in
the page.
When that is done, you have a lot more work.

(I would try it first in the browser).

However probably you get more information in a PHP newsgroup.

Cor
 
Hi Cor,

can someone explain why axwebbrowser is not refreshing properly?
I call refresh and it doesn't do anything it just reloads it from
cashe.

Is there any other component like axwebbrowser which I could use?

This cannot be tru, that in .net I can't write the application which
would reload the page properly.

It just doesn't seem right.

Martin
 
I ended up getting it to work simply by doing:

Initial load:
this.axWebBrowser1.Navigate("http:siteofyourchoice");

Refresh:
this
.axWebBrowser1.Navigate("");
this.axWebBrowser1.Navigate("http:siteofyourchoice");
 
Back
Top