ich hab schon die forenssuche benutzt, nur hab ich keine direkte hilfe für mich gefunden.
ich hab mehre beispiele gefunden, wie folgendes
http://blog.veloursnebel.de/PermaLink,guid,3ac2007a-dea3-4103-b7da-9263e733e824.aspx
jetzt habe ich aber eins zwei probleme dabei...
als erstes ist mir nicht ganz klar, wie folgendes funktionieren soll
if(username == null || password == null)
{
NetworkCredential networkCredential = new NetworkCredential(username, password);
webRequest.PreAuthenticate = true;
webRequest.Credentials = networkCredential;
}
wenn ich es richtig verstehe, wird es dies nie durchlaufen und wenn doch, hat es keine angaben für username und password.
ich hab das ganz auch schon mit einer anderen homepage versucht....
nur dort hab ich gleich das zweite problem, wenn ich mich auf einen login-geschützen-bereich einloge, kriege ich daten zurück. wenn ich mich aber auf die startseite einloge (welche weiterleiten würde auf die, die geht) kriege ich eine fehlermeldung:
WebResponse webResponse = webRequest.GetResponse();
Der Remoteserver hat einen Fehler zurückgegeben: (401) Nicht autorisiert.
kann es sein, dass ich mich mit dieser methode jedes mal aufs neue einlogen muss?
ich würde mich hingegen auch schon über einen guten link oder so freuen.
...hab echt mühe mich in diese thema einzuarbeiten.
ps: sorry, wenn das schon mal so behandelt wurde
Hallo,
ich denke die Abfrage ist verkehrt herum und müsste eigentlich so lauten:
if(!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(password))
MfG
Jürgen
ASP.NET Zone | gutsch-online | sharpcms | .NET Stammtisch Konstanz-Kreuzlingen | See# Party
Hallo,
ich denke die Abfrage ist verkehrt herum und müsste eigentlich so lauten:
if(!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(password))
hab es gleich mal versucht (dachte mir doch, dass der code komisch aussieht 😉 )
im ersten fall (eine seite, bei der man schon eingelogt sein muss) klapt es auch.
aber nicht, wenn ich über die startseite gehe, welche mich weiterleitet.
... ich glaub wirklich, das mir bei diesem gebiet (einlogen, eingelogt bleiben usw.) einfach ein gewisses grundwissen fehlt....
Du kannst beim WebRequest irgendwo angeben, das er Rredirekts folgen soll, evtl. hilft das schon.
MfG
Jürgen
ASP.NET Zone | gutsch-online | sharpcms | .NET Stammtisch Konstanz-Kreuzlingen | See# Party
Du kannst beim WebRequest irgendwo angeben, das er Rredirekts folgen soll, evtl. hilft das schon.
danke für denn tip
werde mich gleich mal informieren
hab mich jetzt nochmal weiter informiert
leider ist es mir immer noch nicht ganz klar
mein derzeitiger test-code sieht so aus:
WebResponse webResponse;
NetworkCredential networkCredential;
private void button2_Click(object sender, EventArgs e)
{
networkCredential = new NetworkCredential(tbUser.Text, tbPassword.Text);
WebRequest webRequest = WebRequest.Create(tbURL.Text);
webRequest.Credentials = networkCredential;
try
{
webResponse = webRequest.GetResponse();
MessageBox.Show(webResponse.Headers.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button4_Click(object sender, EventArgs e)
{
webResponse.Close();
}
private void button3_Click(object sender, EventArgs e)
{
WebRequest webRequest = WebRequest.Create(tbURL.Text);
webRequest.Credentials = networkCredential;
try
{
webResponse = webRequest.GetResponse();
MessageBox.Show(webResponse.Headers.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
ich weiss, dass er nicht gerade schön ist, aber zum testen reichts.
was ich mich jetzt schon die ganz zeit frage bzw. vll einfach nicht begreife, ist folgendes.
soweit ich es verstehe, beinhaltet networkCredential meine login-daten.
nur muss ich die jetzt jedes mal, wen ich eine seite aufrufe, diese mitgeben, oder gibt es da nicht irgend eine automatische möglichkeit? (bin vll. einfach browser-geschädigt mit denn ganzen sessions usw.)
vielen dank schon mal für eure hilfe
ps:
der folgende code steht so auch im ".NET BlogBook Ausgabe 5"
if(username == null || password == null)
{
NetworkCredential networkCredential = new NetworkCredential(username, password);
webRequest.PreAuthenticate = true;
webRequest.Credentials = networkCredential;
}