request.GetResponse报错。此请求需要数据缓冲以便成功进行身份验证或重定向

ygy_xinyu 2012-10-19 02:05:59
各位熟悉post请求的大神来看看吧。
这是代码

try
{
System.Net.ServicePointManager.Expect100Continue = false;
// 开始请求
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create(sync_url);
// 请求方式
request.Method = "POST";
// 内容类型
request.ContentType = "application/x-www-form-urlencoded";
// 将字符串转化为字节
byte[] transfer_arr = System.Text.Encoding.UTF8.GetBytes(parameter);
// 设置请求内容长度
request.ContentLength = transfer_arr.Length;
// 获得请求流
Stream writer = request.GetRequestStream();
// 将请求参数写入流
writer.Write(transfer_arr, 0, transfer_arr.Length);
// 关闭请求流
writer.Close();
// 获取响应流
System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
System.IO.StreamReader sr = new StreamReader(response.GetResponseStream());
string response_value = sr.ReadToEnd();
sr.Close();
response.Close();
return response_value;
}

运行时报错:此请求需要数据缓冲以便成功进行身份验证或重定向。
...全文
356 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ygy_xinyu 2012-10-24
  • 打赏
  • 举报
回复

request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";


加了这句话就好了。
ygy_xinyu 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

要看服务器是什么验证.
你需要得到相应的token.
比如需要把username和password通过header post过去。
具体得到服务器要求的验证方式
[/Quote]
嗯,我跟服务器那边确定一下先。好像别的路径用get就能运行正确。
gnimgnot 2012-10-19
  • 打赏
  • 举报
回复
要看服务器是什么验证.
你需要得到相应的token.
比如需要把username和password通过header post过去。
具体得到服务器要求的验证方式
ygy_xinyu 2012-10-19
  • 打赏
  • 举报
回复
要人工置顶了。。比较急,不好意思啊。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧