使用POST 方式提交数据时出现异常

少儿编程乔老师 2007-11-26 03:29:43
各位帮帮忙,代码如下:

Encoding myEncoding = Encoding.GetEncoding("gb2312");
string param = HttpUtility.UrlEncode("wd", myEncoding) + "=" + HttpUtility.UrlEncode("sohu", myEncoding) + "&" + HttpUtility.UrlEncode("cl", myEncoding) + "=" + HttpUtility.UrlEncode("3", myEncoding);

byte[] bs = Encoding.UTF8.GetBytes(param);
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://www.baidu.com/s");
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded;charset=gb2312";
req.ContentLength = bs.Length;
Stream reqStream = req.GetRequestStream();//执行到这里出现异常
//异常信息:基础连接已经关闭: 连接被意外关闭。
reqStream.Write(bs, 0, bs.Length);
reqStream.Close();
using (WebResponse wr = req.GetResponse())
{
//在这里对接收到的页面内容进行处理
}
...全文
283 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ojekleen 2007-11-27
  • 打赏
  • 举报
回复
帮顶,会不会是网址错了的原因?
nanjg 2007-11-27
  • 打赏
  • 举报
回复
Stream reqStream = req.GetRequestStream();//执行到这里出现异常
我怀疑关闭了 request! 这个stream本身有什么好函数?
lwl0376 2007-11-26
  • 打赏
  • 举报
回复
关注
肖无疾 2007-11-26
  • 打赏
  • 举报
回复
自己写个页面测试会累死啊?!!
ETstudio 2007-11-26
  • 打赏
  • 举报
回复
http://www.baidu.com/s 都没有这个页面,LZ玩我们啊
hzxhzx123 2007-11-26
  • 打赏
  • 举报
回复
http://www.baidu.com/s 不清楚这个/s是个啥物体

我用抓包看,发现向baidu请求搜索的HTTP包都是GET,不清楚你要post什么东东?也不清楚百度让不让你随便post个东西给它。

req.GetRequestStream,到这一句就出错说明你的http数据包头服务器根本不认或是根本没有找到服务器,所以你都不用去管post的数据有什么问题,肯定是你和服务器的通讯出现问题
reqStream.Write(bs, 0, bs.Length);
reqStream.Close();
  • 打赏
  • 举报
回复
看看啥异常啊?
ETstudio 2007-11-26
  • 打赏
  • 举报
回复
代码好像没有错啊
有没有使用代理上网,如果有要设置代理访问才可以
mezyy 2007-11-26
  • 打赏
  • 举报
回复
楼主 参考下这个 http://www.dotnetsky.net/netsave/ShowTopic-32641.html
卧_槽 2007-11-26
  • 打赏
  • 举报
回复
百度发现你是冒牌的浏览器,就断掉了你的连接。
蝶恋花雨 2007-11-26
  • 打赏
  • 举报
回复
没人。我帮你顶顶

110,534

社区成员

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

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

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