Autor Beitrag
zero_x
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 30



BeitragVerfasst: Do 27.03.08 16:47 
Hallo liebe Community,

wie ist es möglich an eine Webseite über die Postmethod Befehle zu schicken? :gruebel:



MfG,
Zero_x :)


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Do 27.03.2008 um 15:51
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 27.03.08 16:56 
Schau Dir mal die HttpWebRequest-Klasse an. In der Hilfe zur ContentType-Eigenschaft dieser Klasse gibt es auch ein Code-Beispiel für das Senden von Post-Daten.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
zero_x Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 30



BeitragVerfasst: Fr 28.03.08 16:50 
Hallo Christian S.,

vielen Dank, aber ein kleines Problem habe ich noch. Ich möchte an RapidShare als Free-User einen Download starten, aber da kommt schon das zweite Problem. Wie klappt das Posten mit der Serverauswahl, Captcha(Sicherheitsbild) und den "Download-Button"?

Der erste Teil mit den Posten an den Free-Button ist kein Problem. Ich verwende folgenden Code:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
        private void button1_Click(object sender, EventArgs e)
        {
            // Von MSDN Kopiert:
            WebRequest request = WebRequest.Create("http://rs154.rapidshare.com/files/102494075/Wasserlilien.jpg"); // Link
            request.Method = "POST";
            string postData = this.textBox1.Text;
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = byteArray.Length;
            Stream dataStream = request.GetRequestStream();
            dataStream.Write(byteArray, 0, byteArray.Length);
            dataStream.Close();
            WebResponse response = request.GetResponse();
            this.textBox2.Text = ((HttpWebResponse)response).StatusDescription; // OK ?
            dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            string responseFromServer = reader.ReadToEnd();
            this.richTextBox1.Text = responseFromServer; // Quelltext in der richTextBox1 anzeigen
            reader.Close();
            dataStream.Close();
            response.Close();
        }

Wenn ich auf der WinForm den Button1 klicke wird mir in der TextBox1 der Quelltext von RapidShare angezeigt, wo auch die Serverauswahl möglich ist ect. Okay, das funktioniert wunderbar.



Nun der zweite Teil mit den Senden des Captchas, Serverauswahl und den Download-Button:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
        private void button2_Click(object sender, EventArgs e)
        {
            WebRequest request = WebRequest.Create("http://rs154.rapidshare.com/files/102494075/Wasserlilien.jpg"); // Link
            request.Method = "POST";
            string postData = this.textBox3.Text; // Inhalt aus der textBox3 posten
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = byteArray.Length;
            Stream dataStream = request.GetRequestStream();
            dataStream.Write(byteArray, 0, byteArray.Length);
            dataStream.Close();
            WebResponse response = request.GetResponse();
            dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            string responseFromServer = reader.ReadToEnd();
            this.richTextBox1.Text = responseFromServer; // Der gepostete Quelltext in der richTextBox1 anzeigen
            reader.Close();
            dataStream.Close();
            response.Close();
            // Postcode: mirror=on&accesscode=XXXX&actionstring=Download+via+Level%283%29
        }


Nun gebe ich z.B.
Zitat:
mirror=on&accesscode=munk&actionstring=Download+via+Level%283%29
in die textBox3 und klicke auf den Button2, aber der Downlod startet nicht :(


Meine Frage nun: Wie kann ich herausfinden:
  • Ob eine Wartezeit vorhanden ist oder wie lange die Wartezeit ist
  • Wie lange die Downloadsperre(downloadlimit erreicht?) ist
  • Server probbleme ..
  • Datei gelöscht worden ist
  • Und natürlich: Wie starte ich den Download?



Ich wäre sehr froh auf eine Antwort von euch! ;)


MfG,
Zero_x


P.S: Nicht Rapidshare.de sondern Rapidshare.com ;)