これは愚かに単純な問題かもしれませんが、私はWikipedia APIからデータを取得するためにpost webrequest/responseをフォーマットすることはできません。誰かが私の問題を見るのを助けることができるなら私は下に私のコードを掲示しました。Wikipedia APIに接続するためのWebRequest
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();
}
一見したところでは、コードがよさそうですね。問題はどのようにして具体的に現れますか?例外は何ですか? –
例外: リモートサーバーからエラーが返されました。(417)期待できませんでした。 – NickJ
@NickJ:下のコードを試してみてください。出来た。 – Keltex