Formular Daten einer externen Webanwendung automatisch ausfüllen und abschicken

larshuber

Grünschnabel
Eine wunderschönen Samstagnachmittag allerseits.

Ich will eine Webanwendung entwickeln, die ein login Formular einer anderen Webanwendung (html code ist im Anhang) ausfüllt und automatisch abschickt.
Das Login Formular wird immer abhängig vom aktuell angemeldeten Benutzer in Windows unterschiedlich ausgefüllt.
Die Formulardaten werden mittels Post Methode übermittelt.
Beim googeln finde ich leider keine Ergebnisse die mir weiterhelfen.

Nun meine Frage kann man das in asp.net das Realisieren?

Ich bin über Tipps echt dankbar!

Herzlich Dank im Vorraus
 

Anhänge

  • externeWebanwendung.txt
    7,3 KB · Aufrufe: 239
Also wenn das Formular auf dem gleichen Rechner wie Deine Webseite angezeigt wird, hast Du Null-Chancen, darauf zuzugreifen. Das läßt Javascript gar nicht zu. Vielleicht geht es ja, wenn Du das Login in ein Frameset einbindest und es so versuchst.
Anders sieht es aus, wenn Du es von Deinem Webserver aus machst. Dann kannst Du zB per Webrequest die Anmeldung durchführen. Die Frage ist dann nur, was nützt Dir das ;-)
 
Also ich habe es mittels webrequest geschafft!

private string getPage(string url,string strPostData)
{
try
{ // Setup the http request.
HttpWebRequest wrWebRequest = WebRequest.Create(url) as HttpWebRequest;
wrWebRequest.Method = "POST";
wrWebRequest.UserAgent="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4";
wrWebRequest.Accept="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
wrWebRequest.KeepAlive=true;
wrWebRequest.ContentLength = strPostData.Length;
wrWebRequest.ContentType = "application/x-www-form-urlencoded";
wrWebRequest.CookieContainer = new CookieContainer();

// Post to the login form.
StreamWriter swRequestWriter = new
StreamWriter(wrWebRequest.GetRequestStream());
swRequestWriter.Write(strPostData);
swRequestWriter.Close();

// Get the response.
HttpWebResponse hwrWebResponse =
(HttpWebResponse)wrWebRequest.GetResponse();
// Have some cookies.
CookieCollection ccCookies = hwrWebResponse.Cookies;
// Read the response
StreamReader srResponseReader = new
StreamReader(hwrWebResponse.GetResponseStream());
string text=srResponseReader.ReadToEnd();
srResponseReader.Close();

// relative Pfade durch absolute Pfade ersetzten
text= text.Replace("src=\"","src=\""+url);
text= text.Replace("action=\"","action=\""+url);
text= text.Replace("name=\"user_name\" value=\"\"","name=\"user_name\" value=\"admin\"");
text= text.Replace("name=\"user_password\" value=\"\"","name=\"user_password\" value=\"admin\"");
text= text.Replace("url(\"","url(\""+url);
text= text.Replace("href=\"","href=\""+url);
text= text.Replace("HREF=\"","HREF=\""+url);
return text;
}
catch(Exception e) {return e.ToString();}
}

Nun stehe ich vor dem nächsten Problem denn ich will die webseite ja innerhalb meiner Seite anzeigen Bei meiner Lösung wird sobald derBenutzer auf einen Link klickt meine Seite "gelöscht" was ja klar ist. Nun per iframe geht das Wie übegebe ich dem iframe htmlcode? anstellene einer source?Oder gibt es andere Lösungen?
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück