Webrequest , StreamReader? Quellcode auslesen(bestimmte Zeile)
-
Hey,
finde einfach keine Lösung bzw Anleitung per Google deshalb frag ich hier mal :).Kann mir einer sagen wie ich von einer Seite den Quellcode auslesen kann ( eine bestimmte Zeile ) und das... möglichst schnell?
Danke schonmal für Antworten
Daniel
-
Was hast Du schon versucht?
Simon
-
String^ line; System::String^ strSource = webClient1->DownloadString("http://www.google.de"); // richTextBox1->Text = strSource; StreamReader^ sr = gcnew StreamReader(strSource); line = sr->ReadLine(); richTextBox1->Text = line;
Fehler sollte klar sein.
StreamReader will natürlich den Pfad und nicht den Quellcode an sich.Fehler: Illegales Zeichen im Pfad
...oder so ähnlichJedenfalls, was kann ich dagegen tun?... Was kann ich mit webClient machen um es mit StreamReader öffnen zu können?
( den Quellcode erst abspeichern , dann öffnen ist weng umständlich oder nicht? )...
und ja im Titel steht WebRequest.... Allerdings hatte ich für WebRequest überhaupt keinen Ansatz und denke mit WebClient ist ist leichter
-
Was spricht gegen OpenRead(..)?
http://msdn.microsoft.com/en-us/library/781fwaz8.aspxBTW: immer schön alles Disposed (in C++/CLI mit delete) was IDisposable implementiert (in C++/CLI mit Destruktor Syntax).
Simon
-
Habe ich schon versucht ohne erfolg....
Hehe naja ich mache heut aber auch leichtsinnige Fehler... Hatte vorne dran noch
String^ strSource =
gehabt...
aua aua aua... Kopf->Wand....
Naja jetzt klappt alles - Danke ^^.
-
Sehe das Problem nicht:
using namespace System; using namespace System::IO; using namespace System::Net; using namespace System::Diagnostics; int main(array<System::String ^> ^args) { WebClient^ webClient = gcnew WebClient(); Stream^ stream = webClient->OpenRead(L"http://www.google.de"); StreamReader^ reader = gcnew StreamReader(stream); String^ line = nullptr; while ((line = reader->ReadLine()) != nullptr) { Debug::WriteLine(line); } delete reader; delete stream; delete webClient; return 0; }
-
Passt doch schon alles :P...
Danke trotzdem...
( Ich hatte schon vor deinem post openread versucht allerdings ohne Erfolg da ich einen leichtsinns Fehler beganngen habe
)
Mein leichtsinns Fehler war:
String^ strSource =
anstatt
Stream^ stream =
Hatte das dann aber zum Glück nach deinem 1. Post mit OpenRead bemerkt sonst wäre es peinlich geworden
Danke nochmal
-
Leider gibts Probleme...
Geht normalweiße aber bei manchen URLs eben nicht... Protokollverletzung...
habe gegooglt und man soll
useUnsafeHeaderParsing auf true setzen...
nur wie und wo genau geht das? habe was von app.config gelesen...
nur wo finde ich die?laut MSDN geht es so:
[ConfigurationPropertyAttribute(L"useUnsafeHeaderParsing", DefaultValue = false)] public: property bool UseUnsafeHeaderParsing { bool get (); void set (bool value); }
Nur weiß ich wirklich nicht wo ich das hinsetzen soll...
Hoffe jemand kann mir helfen...
-
Kein Wunder das ich das nicht finde... Überall stand... Projekt, Hinzufügen , dort dann die app.config... ( Anwendungsconfiguration )...
Anscheinend gibts das nicht bei der Express c++ version!!!
Hole mir gerade 2010 Beta 2...