Laden...

Auf einer Online-Datei zugreifen

Erstellt von Kovu vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.156 Views
K
Kovu Themenstarter:in
488 Beiträge seit 2006
vor 17 Jahren
Auf einer Online-Datei zugreifen

Hi,

ich bin für ein Radio ein Wunsch und gruß System mit Client in C# am programmieren.

Nun liegt die Datei wo die Info´s drin stehen online. Wie greif ich darauf zu?
Hab es offline getestet und es funktionioert. Wenn ich jetz die Adresse der txt Datei angebe, macht es fehlermeldungen, wie kann ich das realisieren?!

Benutze StreamReader und StreamWriter. BItte um dringende HIlfe

Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?

K
Kovu Themenstarter:in
488 Beiträge seit 2006
vor 17 Jahren

brauche bitte hilfe

Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?

K
Kovu Themenstarter:in
488 Beiträge seit 2006
vor 17 Jahren

Ne, ich will nicht die URL auslesen, sondern der Inhalt der Textdatei, die auf einem Server liegt und nur per URL erreichbar ist!

Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?

S
709 Beiträge seit 2005
vor 17 Jahren

Hallo Kovu17!

Klick trotzdem mal auf den Link, da wird nämlich der Content ausgelesen. Der Titel ist nur etwas verwirrend 😉.

Gruß,
SimonKnight6600

1.130 Beiträge seit 2005
vor 17 Jahren

genau, schaut Dir die Methode mal richtig an. Damit bekommst Du alles zurückgeliefert, was der Server sendet.

In welchem Format ist die Datei denn abgespeichert?

Original von SimonKnight6600
Der Titel ist nur etwas verwirrend

hmm... nee, eigentlich nicht 🙂

K
Kovu Themenstarter:in
488 Beiträge seit 2006
vor 17 Jahren

Sorry, bin inner C++ Ausbildung uind lerne nebenbei selber C#. Sind gerade ml bei Window Forms angelangt, nach allen grundlagen und ich erarbeite mir sehr viel zuhause... deswegen die dumme fragerei...

Aber... ähm... könnte mir einer das Script vllt erklären (also das mit dem StreamWriter raff ich ja, aber zum bsp den FileStream nicht) bitte

Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?

1.130 Beiträge seit 2005
vor 17 Jahren

Original von Kovu17
Aber... ähm... könnte mir einer das Script vllt erklären (also das mit dem StreamWriter raff ich ja, aber zum bsp den FileStream nicht) bitte

StreamWriter? Sehen wir die selbe Methode?

K
Kovu Themenstarter:in
488 Beiträge seit 2006
vor 17 Jahren

Sorry meinte StreamReader... irgendwie n bissle vertan, kannste mir die mal n bissle auskommentieren, bzw erklären?

Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?

1.130 Beiträge seit 2005
vor 17 Jahren

ok


public static string GetUrlResponse(string url,string username,string password)
{
    string content = null;

    //WebRequest erstellen
    WebRequest webRequest = WebRequest.Create(url);

    //Username und Passwort übergeben, fall nötig. 
    if(username == null || password == null)
    {
        NetworkCredential networkCredential = new NetworkCredential(username, password);
        webRequest.PreAuthenticate = true;
        webRequest.Credentials = networkCredential;
    }
 
    //Response der URL zurückgeben lassen
    WebResponse webResponse = webRequest.GetResponse();

    //Per StreamReader Response einlesen
    StreamReader sr = new StreamReader(webResponse.GetResponseStream(), Encoding.ASCII);
    StringBuilder contentBuilder = new StringBuilder(); 
    while (-1 != sr.Peek())
    {
        contentBuilder.Append(sr.ReadLine());
        contentBuilder.Append("\r\n");
    }
    content = contentBuilder.ToString();
 
    //Response zurückgeben
    return content.ToString();
}

Vielleicht hilft Dir das so weiter....

K
Kovu Themenstarter:in
488 Beiträge seit 2006
vor 17 Jahren

Ähm.. ja, etwas, aber ehrlich gesagt haste genau die Sachen erklärt die ich schon wusste xD

Sowas wie Rückgabe oder Übergabewerte sind kein Thema, auch Schleifen oder Abfragen nicht.
Was ich nicht verstehe sind die ganzen Stream-Sachen und die ganzen Response und Request Sachen.
Wie funktionieren Sie? Wozu sind sie da?

Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?

1.130 Beiträge seit 2005
vor 17 Jahren

Dazu solltest Du die MSDN konsultieren, dort ist nämlich alles bestens erklärt. Ein bisschen Eigeninitiative ist manchmal gar nicht schlecht....

P
123 Beiträge seit 2006
vor 17 Jahren

WebRequest webRequest = WebRequest.Create(url);

Anfrage an eine URL. Beispiel www.google.de


//Username und Passwort übergeben, fall nötig.
if(username == null || password == null)
{
  NetworkCredential networkCredential = new NetworkCredential(username, password);
  webRequest.PreAuthenticate = true;
  webRequest.Credentials = networkCredential;
}

Übergabe von Benuzter und Passwort. Ich glaube das dient zur Authentifizierung falls ein Proxy im Spiel ist, ansonsten bitte korrigieren!


WebResponse webResponse = webRequest.GetResponse();

Ausgabe/Rückgabe/Antwort des Request (Anfrage) erhalten. Das bedeutet auf gut Deutsch gesagt der HTML- Code (in unserem Beispiel für www.google.de)


//Per StreamReader Response einlesen
StreamReader sr = new StreamReader(webResponse.GetResponseStream(), Encoding.ASCII);
StringBuilder contentBuilder = new StringBuilder();
while (-1 != sr.Peek())
{
  contentBuilder.Append(sr.ReadLine());
  contentBuilder.Append("\r\n");
}
content = contentBuilder.ToString();

Übergabe des Repsonse an einen StreamReader. Damit hast du dann die Möglichkeit diese dann zu durchlaufen (den HTMl-Code auszulesen) und an einen StringBuilder zu hängen. Der StringBuilder wird damm als Rüchgabe der Funktion verwendet.

Ich hoffe es etwas verständlich gemaht zu haben!

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de

1.130 Beiträge seit 2005
vor 17 Jahren

Original von plongo
[..]

Nicht ganz so ausformuliert hatte ich es auch erklärt. Wenn man wissen möchte was die einzelnen Klassen und Methoden genau machen, muss man den Namen einfach nur in der MSDN suchen. Dort ist dann alles genau erklärt.

P
123 Beiträge seit 2006
vor 17 Jahren

ja stimmt, aber nicht immer direkt so erständlich. Ist mein Empfinden!
Deshalb bin ich persönlich froh, falls mir das jemand erklären würde (wie ich dies gemacht habe). Nur zur Sicherheit, das es auch richtig verstanden worden ist!

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de

1.130 Beiträge seit 2005
vor 17 Jahren

Original von plongo
ja stimmt, aber nicht immer direkt so erständlich. Ist mein Empfinden!

Stimmt schon, dennoch sollte ich versuche mich zuerst dort schlau zu lesen. Wenn ich dann direkte Fragen habe, kann ich mich wieder anderen Quellen (Foren, etc.) zuwenden. Ich kann einfach nicht erwarten, dass mir alles vorgekaut wird.

@Kovu17:
Nicht das Du mich falsch verstehst. Die Kritik ist nicht böse gemeint.

P
123 Beiträge seit 2006
vor 17 Jahren

Da kann ich dir nur zustimmen Kai...
Bei mir ist dies keine Frage. Erst der Eigenhilfe (SDK, google, Forumsuche, etc.) und dann über Fremdhilfe (wenn unbedingt nötig)!

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de

K
Kovu Themenstarter:in
488 Beiträge seit 2006
vor 17 Jahren

Cool es funktioniert!!! Danke sehr ersteinmal

  1. Ich habe eigeninitiative, habe schon viel getan. Hallo? Ich lerne eine neue Programmiersprache auf Basis einer anderen, is das nicht iegeninitiative genug?

  2. Hab noch eine Frage:

Das Methode liest ja etwas aus und gibt es als String zurück. Wäre es Möglich Sie so umzuschreiben das Sie auch was reinschreibt?

Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?

1.130 Beiträge seit 2005
vor 17 Jahren

Original von Kovu17

  1. Ich habe eigeninitiative, habe schon viel getan. Hallo? Ich lerne eine neue Programmiersprache auf Basis einer anderen, is das nicht iegeninitiative genug?

ähmm.... nein.

  1. Hab noch eine Frage:

Das Methode liest ja etwas aus und gibt es als String zurück. Wäre es Möglich Sie so umzuschreiben das Sie auch was reinschreibt?

Nein, dazu müsstst Du einen anderen Weg wählen.
Möglich wäre hier ein Webservice einzusetzen...

K
Kovu Themenstarter:in
488 Beiträge seit 2006
vor 17 Jahren

Ich muss es erreichen, einzelne Zeilen aus diesem Text zu löschen. Ist ja bei normalen txt Dateien kein Thema (alles was man haben will in Variable packen und neu schreiben).

Aber ich muss das irgendwie auch dort realisieren. PHP Scripte können dies doch auch!!!

P.s.: habe das Script zum einlesen ein wenig abgeändert auf ein Array. So kann ich besser mit umgehene, als das alles in einem String steht.

Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?

1.130 Beiträge seit 2005
vor 17 Jahren

Original von Kovu17
Aber ich muss das irgendwie auch dort realisieren. PHP Scripte können dies doch auch!!!

Nein, auch PHP bietet diese Möglichkeit nicht eine Datei zu verändern, die sich auf irgendeiner URL befindet.

K
Kovu Themenstarter:in
488 Beiträge seit 2006
vor 17 Jahren

Hallo? ich hab das Script geschrieben. Mag sein das ich ein N4P in C# bin, aber in PHP macht mir keiner was vor.

Hab mich vieleicht falsch ausgedrückt, das Script liegt mit der txt auf einem Server. Das es nicht eine URL-Txt ansprechen kann is kla.

Das Leben is :ugly:

Verdammt, mach das Fenster zu, wer hat den Gamma-Wert so hoch gestellt?

1.130 Beiträge seit 2005
vor 17 Jahren

Original von Kovu17
Hallo? ich hab das Script geschrieben. Mag sein das ich ein N4P in C# bin, aber in PHP macht mir keiner was vor.

Auch das ändert nichts an den Möglichkeiten von PHP.
N4P? Was ist ein N4P?

Hab mich vieleicht falsch ausgedrückt, das Script liegt mit der txt auf einem Server. Das es nicht eine URL-Txt ansprechen kann is kla.

ach was....vielleicht ist Dir das nicht ganz bewusst, aber das ändert die Situation völlig.
Schau Dir folgende Seite an:

http://www.bau.fhm.edu/steinmann/Csharp-Online-Script/Text-DateninDateischreiben.html

Die hättest Du übrigens auch gefunden, wenn Du eine Suchmaschine Deine Wahl benutzt hättest.