Login über HttpWebRequest

27/03/2009 - 17:39 von Jan Mederer | Report spam
Hallo,

bisher habe ich immer auf eine gesicherte Seite über folgenden Weg
zugegriffen:

'url ist die abzurufende Seite
request = CType(WebRequest.Create(url), HttpWebRequest)
Dim proxyObject As New WebProxy(m_Proxy, True)
Dim myCredentials As New NetworkCredential(m_WebUser, m_WebPass)

With request
.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT
5.1)"
.Method = "GET"
.Proxy = proxyObject
.Credentials = myCredentials
.Timeout = 10000
End With
response=CType(request.GetResponse(), HttpWebResponse)

Nun habe ich eine Webseite, bei der ich über diesen Weg nicht an dem
Weblogin vorbeikomme. (ich werde immer wieder
zum Login verwiesen)

Im Web habe ich folgenden Weg gefunden. Login aufrufen, Cookie speichern und
auf der nàchsten Seite
den Cookie übergeben.

'url ist die Login Seite
Request = CType(WebRequest.Create(url), HttpWebRequest)
Dim Cookies As New CookieContainer()
With Request
.CookieContainer = Cookies
.Method = "POST"
.ContentType = "application/x-www-form-urlencoded"
End With
Dim Writer As New StreamWriter(Request.GetRequestStream())
Writer.Write("username=m_WebUser&userpassword=m_WebPass")
Writer.Close()

Dim response As HttpWebResponse = Request.GetResponse 'Login war
erfolgreich ->> Richtige Seite zurückbekommen
Request.GetResponse().Close()

'Nàchste Seite abrufen
Url = m_Webdomain & m_Zusatz & m_Imagename
Request = CType(WebRequest.Create(url), HttpWebRequest)
Request.CookieContainer = Cookies
response=Request.GetResponse

Statt der nàchsten Seite werde ich wieder auf die Loginseite verwiesen. Wo
liegt der Fehler, bzw. welche Wege kann ich
noch versuchen?


Grüße
Jan Mederer
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
27/03/2009 - 17:55 | Warnen spam
Hallo Jan,

"Jan Mederer" schrieb:

Nun habe ich eine Webseite, bei der ich über diesen Weg nicht an dem Weblogin vorbeikomme. (ich werde immer wieder zum Login
verwiesen)



welche Art von Login wird dort verwendet? Basic Authentifizierung, NTLM,
Forms, was ganz eigenes?

Dim response As HttpWebResponse = Request.GetResponse 'Login war erfolgreich ->> Richtige Seite zurückbekommen



Ist das eine Annahme oder ist das auch wirklich so?

Wird eine Session ID vom Server zurückgegeben und falls ja, berücksichtigst
Du das?

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen