日期:2014-05-18  浏览次数:20575 次

请教: 远程服务器返回错误: (411) 所需的长度
HttpWebRequest request = HttpWebRequest.Create("http://192.168.0.1:81/") as HttpWebRequest; 
  request.Method = "POST"; 
  WebResponse response = request.GetResponse(); 


断点执行到这句“WebResponse response = request.GetResponse();”就报上面的错~~~

------解决方案--------------------
顶,我也遇到了~~怎么解决的?
------解决方案--------------------
没遇到过
帮顶
------解决方案--------------------
帮你顶
------解决方案--------------------
[code=C#][/code]
string url=@"http://192.168.0.1:81/";

HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest; 
request.Method = "POST"; 
WebResponse response = request.GetResponse(); 

试试这样还报错吗。
------解决方案--------------------
request.Method = "GET"; 

你根本都没有post数据
------解决方案--------------------
post是表单提交的意思,你填表单了么?方法是post的话,当然还要提交数据。
------解决方案--------------------
程序使用 HTTP 协议和服务器交互主要是进行数据的提交,通常数据的提交是通过 GET 和 POST 两种方式来完成,下面对这两种方式进行一下说明: 

1. GET 方式。 GET 方式通过在网络地址附加参数来完成数据的提交,比如在地址 http://www.google.com/webhp?hl=zh-CN 中,前面部分 http://www.google.com/webhp 表示数据提交的网址,后面部分 hl=zh-CN 表示附加的参数,其中 hl 表示一个键(key), zh-CN 表示这个键对应的值(value)。程序代码如下: 

HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create( "http://www.google.com/webhp?hl=zh-CN" );
req.Method = "GET";
using (WebResponse wr = req.GetResponse())
{
//在这里对接收到的页面内容进行处理


2. POST 方式。 POST 方式通过在页面内容中填写参数的方法来完成数据的提交,参数的格式和 GET 方式一样,是类似于 hl=zh-CN&newwindow=1 这样的结构。程序代码如下: 

string param = "hl=zh-CN&newwindow=1";
byte[] bs = Encoding.ASCII.GetBytes(param);

HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create( "http://www.google.com/intl/zh-CN/" );
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = bs.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(bs, 0, bs.Length);
}
using (WebResponse wr = req.GetResponse())
{
//在这里对接收到的页面内容进行处理


------解决方案--------------------
8楼详细
顶了
------解决方案--------------------
学习了,呵呵,顺便帮顶