Dies mag ein pathetisch einfaches Problem sein, aber ich kann nicht scheinen, die Post webrequest/response zu formatieren, um Daten aus der Wikipedia API zu erhalten. Ich habe meinen Code unten gepostet, wenn jemand mir helfen kann, mein Problem zu sehen.WebRequest zur Verbindung mit der Wikipedia-API
string pgTitle = txtPageTitle.Text;
Uri address = new Uri("http://en.wikipedia.org/w/api.php");
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
string action = "query";
string query = pgTitle;
StringBuilder data = new StringBuilder();
data.Append("action=" + HttpUtility.UrlEncode(action));
data.Append("&query=" + HttpUtility.UrlEncode(query));
byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());
request.ContentLength = byteData.Length;
using (Stream postStream = request.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
}
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream.
StreamReader reader = new StreamReader(response.GetResponseStream());
divWikiData.InnerText = reader.ReadToEnd();
}
Auf den ersten Blick Sie Code sieht gut aus. Wie stellt sich das Problem konkret dar? Was ist die Ausnahme? –
Die Ausnahme ist: Der Remote-Server hat einen Fehler zurückgegeben: (417) Erwartung fehlgeschlagen. – NickJ
@NickJ: Versuchen Sie meinen Code unten. Es funktionierte. – Keltex