我试图发布到一个网站,其中唯一需要的参数是"描述。"我认为这与我编码数据的方式有关。我错过了什么/以错误的方式解决这个问题吗?
string postData = String.Format("description=" + description + "&");
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url);
wr.Method = WebRequestMethods.Http.Post;
wr.ContentLength = byteArray.Length;
wr.ContentType = "application/x-www-form-urlencoded";
Stream postStream = wr.GetRequestStream();
postStream.Write(byteArray, 0, byteArray.Length);
postStream.Close();
WebResponse response = await wr.GetResponseAsync();
HttpWebResponse webResponse = (HttpWebResponse)response;
using (var stm = response.GetResponseStream())
{
using (var reader = new StreamReader(stm))
{
var content = await reader.ReadToEndAsync();
reader.Close();
stm.Close();
return content;
}
}
答案 0 :(得分:3)
您尝试阅读的信息流显然不支持搜索。您还可以通过其CanSeek
属性以编程方式验证。
如果您希望在可以搜索的流中使用相同的数据,请考虑将当前流的全部内容读取到byte[]
缓冲区,然后从该缓冲区构建MemoryStream
以用于您的StreamReader
。