C# - WebRequest GET/POST
So, ich dachte, es ist Zeit für mich zu lernen, C#, einfach mit mir Jungs, ich bin ganz neu hier.
Ich versuche, erstellen Sie eine sehr einfache Anwendung (ich verwende Windows Forms-Anwendung).
Mein Ziel ist:
- Mit "GET" - Methode, die web-Seite
- Lesen ein text-Feld (dieser Wert ändert sich jedes mal, dass der Benutzer auf die Seite zugreift
- Mithilfe der Methode "POST" senden, einige Werte entsprechend
Hier ist mein code bisher:
private void button2_Click(object sender, EventArgs e)
{
string URI = "http://localhost/post.php";
string myParameters = "field=value1&field2=value2";
using (WebClient wc = new WebClient())
{
string getpage = wc.DownloadString("http://localhost/post.php");
MessageBox.Show(getpage);
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
string HtmlResult = wc.UploadString(URI, myParameters);
MessageBox.Show(HtmlResult);
}
}
So weit So gut, Es funktioniert, aber es ist nicht ganz das, was ich will, hier zu erreichen.
Ich bin in der Lage, verwenden Sie die Methode POST, aber wie benutze ich BEKOMMEN vor dem senden der Daten?
Ich möchte zum senden von Daten nach zu BEKOMMEN Ergebnis.
Bitte lassen Sie mich wissen, wenn ich das geben sollte eine bessere Beschreibung für das, was ich versuche zu tun.
Dank.
Bearbeiten
Das ist mein PHP Code:
<?php
$a = session_id();
if(empty($a))
session_start();
echo "Session: ".session_id()."<br/>\n";
Nun, zurück zu meinem C# - code, erhalte ich unterschiedliche session-ID in den beiden Nachrichten
InformationsquelleAutor user3800799 | 2014-10-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lesen von Daten mit GET
Sitzungen
Standardmäßig WebClient verwendet keine Sitzung. Also jeder Anruf wird so behandelt, als wenn Sie eine neue Sitzung erstellt. Zu tun, dass Sie so etwas wie dieses:
Beispiel-code
Ich Frage mich, ob das funktionieren wird.., weil Sie auftreten müssen, um in der gleichen Sitzung. Edit: pseudocoder, genau mein Ziel.
Hi Jungs, ich bin immer noch nicht in der Lage, diese Figur ein. Es zählt immer noch als einer anderen Sitzung. Vielleicht ist der beste Vergleich wäre unser browser (Chrome zum Beispiel). Sie öffnen eine Seite, dann senden Sie das Formular innerhalb der it. ohne erfrischende oder irgendetwas
Hast du gelesen mein zweiter link über Sitzungen? Sie haben, um den setup-client korrekt zu verwenden, einen CookieContainer zu handhaben Sitzungen.
Mit sessions haben Sie die Verwendung von cookies. Wenn Sie auf eine url, eine Sitzung erstellt wird. Die SessionId wird als cookie. Ihr Kunde braucht, um zu speichern das cookie aus und senden Sie es das nächste mal, so dass Ihre Sitzung wieder aufgenommen werden kann. Wenn Sie den Client verwenden, in meinem 2. link, deine Anforderungen sollte das arbeiten mit cookies und damit der Wiederaufnahme Ihrer Sitzung.
InformationsquelleAutor Tuan
Den
GET
Methode ist eigentlich nichts anderes als die übergebenen Parameter durch die Zeile Adresse, senden Sie einfach Ihre Anfrage anstring.Format("{0}?{1}", URI, myParameters)
(oderURI + "?" + myParameters
) und Lesen Sie einfach die Antwort.Ich denke, das würde davon abhängen, Ihre
PHP
Skript. Die Art, wie ich deine Frage verstanden ist, dass Sie wollen, um Daten zu senden, um die Seite mit einer Kombination vonGET
undPOST
Methoden. Wenn dies der Fall ist, sehe ich nicht, warum das nicht in der gleichen Sitzung. Aber wenn Sie etwas senden möchten überGET
, dann aufgrund der Reaktion von der Seite Handwerk-ein weiterer Antrag mitPOST
ich glaube, das wäre eine gesonderte Anfrage. Wenn durch die Sitzung, die Sie bedeuten-Sitzung in dem gleichen Sinn, wie im browser, es ist ein Weg, damit umzugehen (cookies und was nicht), aber wenn mich nicht daran erinnern aus Spitze von meinem Kopf...Ich bearbeitet meine main-post, check it out, wenn Sie sich vorstellen können, wo das problem ist
InformationsquelleAutor nurchi
Ich weiß, das ist eine lange Zeit her, aber :
}
InformationsquelleAutor Fai