Quellcode aus webBrowser in WindowsForms Anwendung



  • Servus,

    Wie kann ich mir synonym zum "Rechtsklick->Quelltext anzeigen" den Quelltext einer in einem Windows Forms webBrowser aufgerufenen Seite anzeigen lassen?

    Gibt es da eine Memberfunktion der Klasse webBrowser?

    Ich möchte nicht mit StreamReader oder webBrowser->Document->Body->InnerHtml arbeiten, da mir dabei nicht die reine xml datei angezeigt wird.

    Beispiel:
    Auf dieser Seite "Rechtsklick->Quelltext anzeigen
    http://eu.wowarmory.com/character-sheet.xml?r=Zuluhed&n=Haroeris

    So soll mir der Browser in meiner Windows Forms Anwendung ebenfalls die Datei anzeigen. Es handelt sich ja auch um den IE in diesem Sinne.
    mfg



  • Moin,

    wieso holst Du Dir die Datei nicht mit WebRequest & Co? ... dann kannst Du die XML-Daten auch gleich verarbeiten

    hand, mogel



  • Hm...
    Das musst du mir genauer erklären bitte.

    Meinst du

    WebRequest-Klasse
    
    Fordert einen URI (Uniform Resource Identifier) an. Dies ist eine abstract Klasse.
    

    Dort wird im Beispiel wieder mit dem StreamReader gearbeitet...

    Ok ich versuchs mal, da ich damit noch nichts gemacht habe.

    Danke erstmal!



  • 44203215 schrieb:

    Hm...
    Das musst du mir genauer erklären bitte.

    folgendes Beispiel holt ein Bild

    String *get = String::Concat("http://", IP, URL);
    					request = dynamic_cast<HttpWebRequest*>(HttpWebRequest::Create(get));
    					request->ReadWriteTimeout = 20 * 1000;
    					response = dynamic_cast<HttpWebResponse*>(request->GetResponse());
    					__img = Drawing::Image::FromStream(response->GetResponseStream());
    

    WebRequest-Klasse

    Fordert einen URI (Uniform Resource Identifier) an. Dies ist eine abstract Klasse.

    Du musst ja auch mit einer der nachfolgenden Klassen arbeiten 🙂

    Dort wird im Beispiel wieder mit dem StreamReader gearbeitet...

    was anderes kommt ja auch nicht aus dem Netzwerk 😉 ... aber den Stream kannst Du an ein XmlDocument durchreichen ... da hast Du dann Deine Verarbeitung für den ganzen XML-Kram

    Ok ich versuchs mal, da ich damit noch nichts gemacht habe.

    jeder fängt mal an

    hand, mogel



  • Ok, ich habe die ganze sache nun folgendermaßen eingerichtet:

    url steht dabei für die Webseite bei der ich mit "Rechtsklick->Quelltext anzeigen" ein xml file erhalte... automatisch

    Jetzt erhalte ich aber wieder den ganzen Javascript,CSS... etc. Schrott.

    Dass Problem ist: Selbst wenn ich dieses Html usw. dann manuell in ein xml file speichere erhalten ich nicht das gleiche Ergebnis wie beim "Rechtsklick->...".
    Das liegt daran, dass in dem Quellcode auf Ordner zugeriffen wird, die ich nicht auf meinem Rechner habe... ist ja klar... die liegen irgendwo auf dem Server... Wie also greift z.B. Firefox dann das xml File direkt ab?(Link ist ja oben beschrieben)

    WebRequest^ request = WebRequest::Create( url );
    
       // If required by the server, set the credentials.
       request->Credentials = CredentialCache::DefaultCredentials;
    
       // Get the response.
       HttpWebResponse^ response = dynamic_cast<HttpWebResponse^>(request->GetResponse());
    
       // Get the stream containing content returned by the server.
       Stream^ dataStream = response->GetResponseStream();
    
       // Open the stream using a StreamReader for easy access.
       StreamReader^ reader = gcnew StreamReader( dataStream );
    
       // Read the content.
       String^ responseFromServer = reader->ReadToEnd();
    
       // Display the content.
       richTextBox1->Text = responseFromServer;
    
       // Cleanup the streams and the response.
       reader->Close();
       dataStream->Close();
       response->Close();
    

Anmelden zum Antworten