残りの呼び出しからのリクエストの内容を txt ファイルに書き込むのに苦労しています。
レスポンスが返ってきてコンソールに出力できるのですが、どうしてもテキストファイルに書きたいです。私はそれがエンコーディングの問題であることに傾いていますが、それをどこで設定または構成するかがわかりません。
私が書いたメッセージボックスとファイルの内容は空です。
static void Main(string[] args)
{
// Create the web request
HttpWebRequest request = WebRequest.Create("http://finance.yahoo.com/q/ecn") as HttpWebRequest;
// Set type to POST
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
string query = "?s=PVSW";
StringBuilder data = new StringBuilder();
data.Append("&query=" + HttpUtility.UrlEncode(query));
System.Windows.Forms.MessageBox.Show("Data = " + data.ToString());
// Create a byte array of the data we want to send
byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());
// Set the content length in the request headers
request.ContentLength = byteData.Length;
// Write data
using (Stream postStream = request.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
}
// Get response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
// Console application output
Console.WriteLine(reader.ReadToEnd());
System.Windows.Forms.MessageBox.Show(reader.ReadToEnd());
TextWriter tw = new StreamWriter("C:/Response.txt");
// write a line of text to the file
tw.WriteLine(reader.ReadToEnd());
// close the stream
tw.Close();
}
}