Hallo Leute, ich bin auf der Suche nach einer Möglichtkeit, den Firefox so wie den IE zu instanziieren und in HTML- Forms zu schreiben. Ich zeige euch mal ein Bespiel für den IE:
Dim oIE As Object oIE = CreateObject("InternetExplorer.Application")
Falls du vor hast dich auf einer WebSeite einzuloggen um dort Daten abzurufen oder zu speichern würde ich dir von einer "Fernsteuerung" mittels IE oder Firefox abraten. Wir haben hier auf Arbeit damit einige schlechte Erfahrungen gemacht.
Eine rosbute Alternative wäre die System.Net.WebRequest-Klasse die auch Sessions und Cookies unterstützt. Sie erlaubt es einen eigenen HTTP-Client zu entwickeln.
Ich habe mir Hilfsklasse geschrieben die ich dir hier mal posten möchte. Sie ist nicht der weißheit letzter schluss und müßte auch mal überarbeitet werden, aber sie zeigt dir, wie du vorgehen kannst.
using System; using System.Diagnostics; using System.IO; using System.Net; using System.Net.Security; using System.Text; using System.Threading;
namespace MyCompany.Netzwerkfunktionen.HTTP_Post_Request { public class HTTP_Post_Request { private String _UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"; private RemoteCertificateValidationCallback ignoreInvalidCertificateValidationCallback = delegate { return true; }; // aktzeptiert alle Zertifikate
//----------------------------------------------------------------------- // CookieContainer - Instant erzeugen //----------------------------------------------------------------------- public CookieContainer objCookieContainer = new CookieContainer();
//========================================================================== /// <summary> /// Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob auch vom Betriebssystem als unsicher betrachtete (SSL-)Zertifikate erlaubt werden /// </summary> public bool IgnoreInvalidCertificates { get { return (ServicePointManager.ServerCertificateValidationCallback == ignoreInvalidCertificateValidationCallback); } set { ServicePointManager.ServerCertificateValidationCallback = (value) ? ignoreInvalidCertificateValidationCallback : null; } }
//========================================================================== /// <summary> /// Ruft einen Wert ab oder legt einen Wert fest, der angiebt, welcher HTTP-UserAgend-Header gesetzt werden soll /// </summary> public String UserAgent { get { return this._UserAgent; } set { this._UserAgent = value; } }
Also Leute nach langem hin und her hab ich noch immer keine Lösung gefunden. Sorry das ich mich so spät melde, war beschäftigt. Ich will deshalb eine Firefox Instanz, weil der IE durch richtlinen gesperrt sein könnte. Da die Website, die ich ansteuern und auch ANZEIGEN möchte, ein Ärzteportal ist und ich den Ärzten einfach nur eine komfortable Lösung zu Verfügung stellen muss, brauche ich eine anderen Instanz als den IE. Ich glaube das wird nicht so einfach wie es scheint.
Also nach deinem Kommentar weiss ich ehrlich nicht, warum Du die Antwort von Floyd akzeptierst. Das ist ja gerade KEINE Anzeige, sondern NUR Download?!
Aber in Forms schreiben und submitten geht damit wunderbar.