代码如下:
----------------------------------------
HttpWebResponse wr = null;
StreamReader sr = null;
StreamWriter sw = null;
try
{
string strPostData = "test=123456&submit=submit"; HttpWebRequest mRequest = WebRequest.Create("http://www.test.com/a.asp") as HttpWebRequest;
mRequest.Method = "POST";
mRequest.ContentType="text/x-www-form-urlencoded";
mRequest.ContentLength = strPostData.Length; sw = new StreamWriter(mRequest.GetRequestStream());
sw.Write(strPostData);
sw.Flush(); wr = (HttpWebResponse)mRequest.GetResponse();
sr = new StreamReader(wr.GetResponseStream());
tbMsg.Text = sr.ReadToEnd();
}
catch(Exception err)
{
MessageBox.Show(err.Message);
}
finally
{
if(sw != null)
sw.Close();
if(sr != null)
sr.Close();
if(wr != null)
wr.Close();
}
----------------------------------------
http://www.test.com/a.asp的代码如下:
----------------------------------------
<%
response.write Request.form() & "<BR>"
%>
----------------------------------------tbMsg.Text 总是<BR>,得不到POST过去的数据。谢谢大家帮忙啦!
----------------------------------------
HttpWebResponse wr = null;
StreamReader sr = null;
StreamWriter sw = null;
try
{
string strPostData = "test=123456&submit=submit"; HttpWebRequest mRequest = WebRequest.Create("http://www.test.com/a.asp") as HttpWebRequest;
mRequest.Method = "POST";
mRequest.ContentType="text/x-www-form-urlencoded";
mRequest.ContentLength = strPostData.Length; sw = new StreamWriter(mRequest.GetRequestStream());
sw.Write(strPostData);
sw.Flush(); wr = (HttpWebResponse)mRequest.GetResponse();
sr = new StreamReader(wr.GetResponseStream());
tbMsg.Text = sr.ReadToEnd();
}
catch(Exception err)
{
MessageBox.Show(err.Message);
}
finally
{
if(sw != null)
sw.Close();
if(sr != null)
sr.Close();
if(wr != null)
wr.Close();
}
----------------------------------------
http://www.test.com/a.asp的代码如下:
----------------------------------------
<%
response.write Request.form() & "<BR>"
%>
----------------------------------------tbMsg.Text 总是<BR>,得不到POST过去的数据。谢谢大家帮忙啦!
byte[] bs = System.Text.Encoding.ASCII.GetBytes(strPostData); HttpWebRequest mRequest = WebRequest.Create("http://www.test.com/a.asp") as HttpWebRequest;
mRequest.Method = "POST";
mRequest.ContentType="application/x-www-form-urlen";
mRequest.ContentLength = bs.Length; sw = new StreamWriter(mRequest.GetRequestStream());
sw.Write(bs,0,bs.Length);
sw.Close();see
http://www.west-wind.com/presentations/dotnetWebRequest/dotnetWebRequest.htm
--------------------------------------
HttpWebResponse wr = null;
StreamReader sr = null;
try
{ HttpWebRequest mRequest = WebRequest.Create("http://www.testchuguo.com/a.asp") as HttpWebRequest;
mRequest.Method = "POST";
mRequest.ContentType="application/x-www-form-urlencoded"; string strPostData = "test=123456&submit=中国人";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strPostData);
mRequest.ContentLength = buffer.Length; Stream stream = mRequest.GetRequestStream();
stream.Write(buffer,0,buffer.Length);
stream.Close(); wr = (HttpWebResponse)mRequest.GetResponse();
sr = new StreamReader(wr.GetResponseStream()); tbMsg.Text = sr.ReadToEnd();
}
catch(Exception err)
{
MessageBox.Show(err.Message);
}
finally
{
if(sr != null)
sr.Close();
if(wr != null)
wr.Close();
}
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strPostData);
mRequest.ContentLength = buffer.Length; Stream stream = mRequest.GetRequestStream();
stream.Write(buffer,0,buffer.Length);
stream.Close();长度应该不会错吧?而且如果汉字的个数是偶数个的话,就没有问题。并且如果在汉字后加任意数量的字符的话,也没有问题。就是最后的数据是“奇数个汉字”的情况下发生问题。
----------------------------------------
HttpWebResponse wr = null;
StreamReader sr = null;
try
{ HttpWebRequest mRequest = WebRequest.Create("http://www.testchuguo.com/a.asp") as HttpWebRequest;
mRequest.Method = "POST";
mRequest.ContentType="application/x-www-form-urlencoded"; string strPostData = "test=" + System.Web.HttpUtility.UrlEncode("中国人",System.Text.Encoding.GetEncoding("gb2312"));
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strPostData);
mRequest.ContentLength = buffer.Length; Stream stream = mRequest.GetRequestStream();
stream.Write(buffer,0,buffer.Length);
stream.Close(); wr = (HttpWebResponse)mRequest.GetResponse();
sr = new StreamReader(wr.GetResponseStream(),System.Text.Encoding.GetEncoding("gb2312")); tbMsg.Text = sr.ReadToEnd();
}
catch(Exception err)
{
MessageBox.Show(err.Message);
}
finally
{
if(sr != null)
sr.Close();
if(wr != null)
wr.Close();
}
改成 sr = new StreamReader(wr.GetResponseStream(),Encoding.UTF8); 试一下